Commit 37f106f0 authored by jelt's avatar jelt
Browse files

First commit. Add build + essential getting started config files

parent 85f4c172
# compiler options for Archer CRAY XC-30 (using intel compiler)
#
# NCDF_HOME root directory containing lib and include subdirectories for netcdf4
# HDF5_HOME root directory containing lib and include subdirectories for HDF5
# XIOS_HOME root directory containing lib for XIOS
# OASIS_HOME root directory containing lib for OASIS
#
# NCDF_INC netcdf4 include file
# NCDF_LIB netcdf4 library
# XIOS_INC xios include file (taken into accound only if key_iomput is activated)
# XIOS_LIB xios library (taken into accound only if key_iomput is activated)
# OASIS_INC oasis include file (taken into accound only if key_oasis3 is activated)
# OASIS_LIB oasis library (taken into accound only if key_oasis3 is activated)
#
# FC Fortran compiler command
# FCFLAGS Fortran compiler flags
# FFLAGS Fortran 77 compiler flags
# LD linker
# LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries
# FPPFLAGS pre-processing flags
# AR assembler
# ARFLAGS assembler flags
# MK make
# USER_INC complete list of include files
# USER_LIB complete list of libraries to pass to the linker
# CC C compiler used to compile conv for AGRIF
# CFLAGS compiler flags used with CC
#
# Note that:
# - unix variables "$..." are accpeted and will be evaluated before calling fcm.
# - fcm variables are starting with a % (and not a $)
#
%NCDF_HOME $NETCDF_DIR
%HDF5_HOME $HDF5_DIR
%XIOS_HOME /work/n01/n01/jdha/2017/xios/trunk
#OASIS_HOME
%NCDF_INC -I%NCDF_HOME/include -I%HDF5_HOME/include
%NCDF_LIB -L%HDF5_HOME/lib -L%NCDF_HOME/lib -lnetcdff -lnetcdf -lhdf5_hl -lhdf5 -lz
%XIOS_INC -I%XIOS_HOME/inc
%XIOS_LIB -L%XIOS_HOME/lib -lxios
#OASIS_INC -I%OASIS_HOME/build/lib/mct -I%OASIS_HOME/build/lib/psmile.MPI1
#OASIS_LIB -L%OASIS_HOME/lib -lpsmile.MPI1 -lmct -lmpeu -lscrip
%CPP cpp
%FC ftn
%FCFLAGS -integer-size 32 -real-size 64 -O3 -fp-model source -zero -fpp -warn all
%FFLAGS -integer-size 32 -real-size 64 -O3 -fp-model source -zero -fpp -warn all
%LD CC -Wl,"--allow-multiple-definition"
%FPPFLAGS -P -C -traditional
%LDFLAGS
%AR ar
%ARFLAGS -r
%MK gmake
%USER_INC %XIOS_INC %NCDF_INC
%USER_LIB %XIOS_LIB %NCDF_LIB
#USER_INC %XIOS_INC %OASIS_INC %NCDF_INC
#USER_LIB %XIOS_LIB %OASIS_LIB %NCDF_LIB
%CC cc
%CFLAGS -O0
!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
!! NEMO/OPA : Configuration namelist used to overwrite SHARED/1_namelist_ref
!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
!-----------------------------------------------------------------------
&namrun ! parameters of the run
!-----------------------------------------------------------------------
cn_exp = "Agulhas" ! experience name
nn_it000 = 1 ! first time step
nn_itend = 10950 ! last time step
nn_stock = 10950 ! frequency of creation of a restart file (modulo referenced to 1)
nn_write = 10950 ! frequency of write in the output file (modulo referenced to nn_it000)
ln_clobber = .true. ! clobber (overwrite) an existing file
/
!-----------------------------------------------------------------------
&namcfg ! parameters of the configuration
!-----------------------------------------------------------------------
ln_read_cfg = .true. ! (=T) read the domain configuration file
! ! (=F) user defined configuration ==>>> see usrdef(_...) modules
cn_domcfg = "AGRIF_AGULHAS_domain_cfg" ! domain configuration filename
/
!-----------------------------------------------------------------------
&namdom ! space and time domain (bathymetry, mesh, timestep)
!-----------------------------------------------------------------------
ln_linssh = .true. ! =T linear free surface ==>> model level are fixed in time
nn_closea = 0 ! remove (=0) or keep (=1) closed seas and lakes (ORCA)
!
rn_rdt = 2880. ! time step for the dynamics (and tracer if nn_acc=0)
!
/
!-----------------------------------------------------------------------
&namcrs ! Grid coarsening for dynamics output and/or
! ! passive tracer coarsened online simulations
!-----------------------------------------------------------------------
/
!-----------------------------------------------------------------------
&namtsd ! data : Temperature & Salinity
!-----------------------------------------------------------------------
/
!-----------------------------------------------------------------------
&namsbc ! Surface Boundary Condition (surface module)
!-----------------------------------------------------------------------
ln_blk = .true. ! CORE bulk formulation (T => fill namsbc_core)
nn_ice = 3 ! =0 no ice boundary condition ,
! =1 use observed ice-cover ,
! =2 ice-model used ("key_lim3" or "key_lim2)
ln_rnf = .false. ! runoffs (T => fill namsbc_rnf)
ln_ssr = .false. ! Sea Surface Restoring on T and/or S (T => fill namsbc_ssr)
nn_fwb = 0 ! FreshWater Budget: =0 unchecked
! =1 global mean of e-p-r set to zero at each time step
! =2 annual global mean of e-p-r set to zero
! =3 global emp set to zero and spread out over erp area
/
!-----------------------------------------------------------------------
&namsbc_blk ! namsbc_blk generic Bulk formula (ln_blk = T)
!-----------------------------------------------------------------------
! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask !
! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename !
sn_wndi = 'u_10.15JUNE2009_fill' , 6 , 'U_10_MOD', .false. , .true. , 'yearly' , 'weights_core2_agrif_bicubic.nc' , 'Uwnd' , ''
sn_wndj = 'v_10.15JUNE2009_fill' , 6 , 'V_10_MOD', .false. , .true. , 'yearly' , 'weights_core2_agrif_bicubic.nc' , 'Vwnd' , ''
sn_qsr = 'ncar_rad.15JUNE2009_fill' , 24 , 'SWDN_MOD', .false. , .true. , 'yearly' , 'weights_core2_agrif_bilinear.nc' , '' , ''
sn_qlw = 'ncar_rad.15JUNE2009_fill' , 24 , 'LWDN_MOD', .false. , .true. , 'yearly' , 'weights_core2_agrif_bilinear.nc' , '' , ''
sn_tair = 't_10.15JUNE2009_fill' , 6 , 'T_10_MOD', .false. , .true. , 'yearly' , 'weights_core2_agrif_bilinear.nc' , '' , ''
sn_humi = 'q_10.15JUNE2009_fill' , 6 , 'Q_10_MOD', .false. , .true. , 'yearly' , 'weights_core2_agrif_bilinear.nc' , '' , ''
sn_prec = 'ncar_precip.15JUNE2009_fill', -1 , 'PRC_MOD1', .false. , .true. , 'yearly' , 'weights_core2_agrif_bilinear.nc' , '' , ''
sn_snow = 'ncar_precip.15JUNE2009_fill', -1 , 'SNOW' , .false. , .true. , 'yearly' , 'weights_core2_agrif_bilinear.nc' , '' , ''
sn_slp = 'slp.15JUNE2009_fill' , 6 , 'SLP' , .false. , .true. , 'yearly' , 'weights_core2_agrif_bilinear.nc' , '' , ''
sn_tdif = 'taudif_core' , 24 , 'taudif' , .false. , .true. , 'yearly' , 'weights_core2_agrif_bilinear.nc' , '' , ''
!
! ! bulk algorithm :
ln_NCAR = .true. ! "NCAR" algorithm (Large and Yeager 2008)
!
/
!-----------------------------------------------------------------------
&namtra_qsr ! penetrative solar radiation
!-----------------------------------------------------------------------
! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation !
! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing !
sn_chl ='chlorophyll', -1 , 'CHLA' , .true. , .true. , 'yearly' , 'weights_bilin.nc' , ''
/
!-----------------------------------------------------------------------
&namlbc ! lateral momentum boundary condition
!-----------------------------------------------------------------------
/
!-----------------------------------------------------------------------
&namagrif ! AGRIF zoom ("key_agrif")
!-----------------------------------------------------------------------
nn_cln_update = 1 ! baroclinic update frequency
/
!-----------------------------------------------------------------------
&nambfr ! bottom friction
!-----------------------------------------------------------------------
/
!-----------------------------------------------------------------------
&nambbc ! bottom temperature boundary condition
!-----------------------------------------------------------------------
ln_trabbc = .true. ! Apply a geothermal heating at the ocean bottom
/
!-----------------------------------------------------------------------
&nambbl ! bottom boundary layer scheme
!-----------------------------------------------------------------------
/
!-----------------------------------------------------------------------
&nameos ! ocean physical parameters
!-----------------------------------------------------------------------
ln_teos10 = .true. ! = Use TEOS-10 equation of state
/
!-----------------------------------------------------------------------
&namtra_dmp ! tracer: T & S newtonian damping
!-----------------------------------------------------------------------
ln_tradmp = .false. ! add a damping termn (T) or not (F)
/
!-----------------------------------------------------------------------
&namtra_adv ! advection scheme for tracer
!-----------------------------------------------------------------------
ln_traadv_fct = .true. ! FCT scheme
nn_fct_h = 2 ! =2/4, horizontal 2nd / 4th order
nn_fct_v = 2 ! =2/4, vertical 2nd / COMPACT 4th order
nn_fct_zts = 0 ! >=1, 2nd order FCT scheme with vertical sub-timestepping
! ! (number of sub-timestep = nn_fct_zts)
/
!-----------------------------------------------------------------------
&namtra_ldf ! lateral diffusion scheme for tracers
!----------------------------------------------------------------------------------
! ! Operator type:
ln_traldf_lap = .true. ! laplacian operator
ln_traldf_blp = .false. ! bilaplacian operator
! ! Direction of action:
ln_traldf_lev = .false. ! iso-level
ln_traldf_hor = .false. ! horizontal (geopotential)
ln_traldf_iso = .true. ! iso-neutral (Standard operator)
ln_traldf_triad = .false. ! iso-neutral (Triads operator)
!
! ! iso-neutral options:
ln_traldf_msc = .true. ! Method of Stabilizing Correction (both operators)
rn_slpmax = 0.01 ! slope limit (both operators)
ln_triad_iso = .false. ! pure horizontal mixing in ML (triad only)
rn_sw_triad = 1 ! =1 switching triad ; =0 all 4 triads used (triad only)
ln_botmix_triad = .false. ! lateral mixing on bottom (triad only)
!
! ! Coefficients:
nn_aht_ijk_t = 20 ! space/time variation of eddy coef
! ! =-20 (=-30) read in eddy_diffusivity_2D.nc (..._3D.nc) file
! ! = 0 constant
! ! = 10 F(k) =ldf_c1d
! ! = 20 F(i,j) =ldf_c2d
! ! = 21 F(i,j,t) =Treguier et al. JPO 1997 formulation
! ! = 30 F(i,j,k) =ldf_c2d + ldf_c1d
! ! = 31 F(i,j,k,t)=F(local velocity)
rn_aht_0 = 1000. ! lateral eddy diffusivity (lap. operator) [m2/s]
rn_bht_0 = 1.e+12 ! lateral eddy diffusivity (bilap. operator) [m4/s]
/
!----------------------------------------------------------------------------------
&namtra_ldfeiv ! eddy induced velocity param.
!----------------------------------------------------------------------------------
ln_ldfeiv =.false. ! use eddy induced velocity parameterization
/
!-----------------------------------------------------------------------
&namdyn_adv ! formulation of the momentum advection
!-----------------------------------------------------------------------
/
!-----------------------------------------------------------------------
&namdyn_vor ! option of physics/algorithm (not control by CPP keys)
!-----------------------------------------------------------------------
ln_dynvor_ene = .false. ! enstrophy conserving scheme
ln_dynvor_ens = .false. ! energy conserving scheme
ln_dynvor_mix = .false. ! mixed scheme
ln_dynvor_een = .true. ! energy & enstrophy scheme
nn_een_e3f = 0 ! e3f = masked averaging of e3t divided by 4 (=0) or by the sum of mask (=1)
/
!-----------------------------------------------------------------------
&namdyn_hpg ! Hydrostatic pressure gradient option
!-----------------------------------------------------------------------
/
!-----------------------------------------------------------------------
&namdyn_spg ! surface pressure gradient
!-----------------------------------------------------------------------
ln_dynspg_ts = .true. ! split-explicit free surface
/
!-----------------------------------------------------------------------
&namdyn_ldf ! lateral diffusion on momentum
!-----------------------------------------------------------------------
! ! Type of the operator :
! ! no diffusion: set ln_dynldf_lap=..._blp=F
ln_dynldf_lap = .false. ! laplacian operator
ln_dynldf_blp = .true. ! bilaplacian operator
! ! Direction of action :
ln_dynldf_lev = .true. ! iso-level
ln_dynldf_hor = .false. ! horizontal (geopotential)
ln_dynldf_iso = .false. ! iso-neutral
! ! Coefficient
nn_ahm_ijk_t = 0 ! space/time variation of eddy coef
! ! =-30 read in eddy_viscosity_3D.nc file
! ! =-20 read in eddy_viscosity_2D.nc file
! ! = 0 constant
! ! = 10 F(k)=c1d
! ! = 20 F(i,j)=F(grid spacing)=c2d
! ! = 30 F(i,j,k)=c2d*c1d
! ! = 31 F(i,j,k)=F(grid spacing and local velocity)
rn_ahm_0 = 40000. ! horizontal laplacian eddy viscosity [m2/s]
rn_ahm_b = 0. ! background eddy viscosity for ldf_iso [m2/s]
rn_bhm_0 = 8.5e+11 ! horizontal bilaplacian eddy viscosity [m4/s]
/
!-----------------------------------------------------------------------
&namzdf ! vertical physics
!-----------------------------------------------------------------------
/
!-----------------------------------------------------------------------
&namzdf_tke ! turbulent eddy kinetic dependent vertical diffusion ("key_zdftke")
!-----------------------------------------------------------------------
/
!-----------------------------------------------------------------------
&namzdf_ddm ! double diffusive mixing parameterization ("key_zdfddm")
!-----------------------------------------------------------------------
/
!-----------------------------------------------------------------------
&namzdf_tmx ! tidal mixing parameterization ("key_zdftmx")
!-----------------------------------------------------------------------
ln_tmx_itf = .false. ! ITF specific parameterisation
/
!-----------------------------------------------------------------------
&nammpp ! Massively Parallel Processing ("key_mpp_mpi)
!-----------------------------------------------------------------------
/
!-----------------------------------------------------------------------
&nammpp_dyndist ! Massively Parallel Distribution for AGRIF zoom ("key_agrif" && "key_mpp_dyndist")
!-----------------------------------------------------------------------
/
!-----------------------------------------------------------------------
&namctl ! Control prints & Benchmark
!-----------------------------------------------------------------------
/
!-----------------------------------------------------------------------
&namptr ! Poleward Transport Diagnostic
!-----------------------------------------------------------------------
/
!-----------------------------------------------------------------------
&namhsb ! Heat and salt budgets
!-----------------------------------------------------------------------
/
!-----------------------------------------------------------------------
&namobs ! observation usage ('key_diaobs')
!-----------------------------------------------------------------------
/
!-----------------------------------------------------------------------
&nam_asminc ! assimilation increments ('key_asminc')
!-----------------------------------------------------------------------
/
<domain_definition>
<domain_group id="grid_T">
<domain id="grid_T" long_name="grid T"/>
<!-- My zoom: example of hand defined zoom -->
<domain id="moorT" ibegin="39" jbegin="82" ni="1" nj="1" />
<domain id="sec01T" ibegin="33" jbegin="62" ni="28" nj="1" />
<domain id="sec02T" ibegin="34" jbegin="68" ni="27" nj="1" />
<domain id="sec03T" ibegin="29" jbegin="75" ni="18" nj="1" />
<domain id="sec04T" ibegin="29" jbegin="80" ni="16" nj="1" />
<domain id="sec05T" ibegin="25" jbegin="88" ni="12" nj="1" />
<domain id="sec06T" ibegin="25" jbegin="91" ni="7" nj="1" />
<domain id="sec07T" ibegin="25" jbegin="92" ni="3" nj="1" />
<domain id="sec08T" ibegin="57" jbegin="77" ni="4" nj="1" />
<domain id="sec09T" ibegin="61" jbegin="62" ni="1" nj="15" />
<domain id="sec00ST" ibegin="2" jbegin="2" ni="115" nj="1" />
<domain id="sec00NT" ibegin="2" jbegin="104" ni="115" nj="1" />
<domain id="sec00WT" ibegin="2" jbegin="2" ni="1" nj="103" />
<domain id="sec00ET" ibegin="116" jbegin="2" ni="1" nj="103" />
<domain id="1point" domain_ref="grid_T" >
<zoom_domain id="1point" ibegin="139" jbegin="119" ni="1" nj="1" />
</domain>
<!-- Eq section -->
<domain id="EqT" domain_ref="grid_T" >
<zoom_domain id="EqT" ibegin="0" jbegin="0000" ni="0000" nj="1" />
</domain>
<!-- TAO : see example above -->
<!-- 137e -->
<!-- <domain id="2n137eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="5n137eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="8n137eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <\!-- 147e -\-> -->
<!-- <domain id="0n147eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="2n147eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="5n147eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <\!-- 156e -\-> -->
<!-- <domain id="5s156eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="2s156eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="0n156eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="2n156eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="5n156eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="8n156eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <\!-- 165e -\-> -->
<!-- <domain id="8s165eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="5s165eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="2s165eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="0n165eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="2n165eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="5n165eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="8n165eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <\!-- 180w -\-> -->
<!-- <domain id="8s180wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="5s180wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="2s180wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="0n180wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="2n180wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="5n180wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="8n180wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <\!-- 170w -\-> -->
<!-- <domain id="8s170wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="5s170wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="2s170wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="0n170wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="2n170wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="5n170wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="8n170wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <\!-- 155w -\-> -->
<!-- <domain id="8s155wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="5s155wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="2s155wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="0n155wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="2n155wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="5n155wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="8n155wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <\!-- 140w -\-> -->
<!-- <domain id="8s140wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="5s140wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="2s140wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="0n140wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="2n140wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="5n140wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="8n140wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <\!-- 125w -\-> -->
<!-- <domain id="8s125wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="5s125wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="2s125wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="0n125wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="2n125wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="5n125wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="8n125wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <\!-- 110w -\-> -->
<!-- <domain id="8s110wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="5s110wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="2s110wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="0n110wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="2n110wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="5n110wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="8n110wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <\!-- 95w -\-> -->
<!-- <domain id="8s95wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="5s95wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="2s95wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="0n95wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="2n95wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="5n95wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="8n95wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <\!-- RAMA -\-> -->
<!-- <\!-- 55e -\-> -->
<!-- <domain id="16s55eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="12s55eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="8s55eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="4s55eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="1.5s55eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="0n55eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="1.5n55eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="4n55eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <\!-- 65e -\-> -->
<!-- <domain id="15n65eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <\!-- 67e -\-> -->
<!-- <domain id="16s67eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="12s67eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="8s67eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="4s67eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="1.5s67eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="0n67eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="1.5n67eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="4n67eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="8n67eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <\!-- 80.5e -\-> -->
<!-- <domain id="16s80.5eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="12s80.5eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="8s80.5eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="4s80.5eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="1.5s80.5eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="0n80.5eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="1.5n80.5eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="4n80.5eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <\!-- 90e -\-> -->
<!-- <domain id="1.5s90eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="0n90eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="1.5n90eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="4n90eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="8n90eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="12n90eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="15n90eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <\!-- 95e -\-> -->
<!-- <domain id="16s95eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="12s95eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="8s95eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="5s95eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <\!-- PIRATA -\-> -->
<!-- <\!-- 38w-30w -\-> -->
<!-- <domain id="19s34wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="14s32wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="8s30wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="0n35wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="4n38wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="8n38wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="12n38wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="15n38wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="20n38wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <\!-- 23w -\-> -->
<!-- <domain id="0n23wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="4n23wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="12n23wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="21n23wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <\!-- 10w -\-> -->
<!-- <domain id="10s10wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="6s10wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <domain id="0n10wT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
<!-- <\!-- 0e -\-> -->
<!-- <domain id="0n0eT" domain_ref="grid_T" ibegin="0000" jbegin="0000" ni="1" nj="1" /> -->
</domain_group>
<domain_group id="grid_U">
<domain id="grid_U" long_name="grid U"/>
<!-- My zoom: example of hand defined zoom -->
<domain id="moorU" ibegin="39" jbegin="82" ni="1" nj="1" />
<domain id="sec01U" ibegin="33" jbegin="62" ni="28" nj="1" />
<domain id="sec02U" ibegin="34" jbegin="68" ni="27" nj="1" />
<domain id="sec03U" ibegin="29" jbegin="75" ni="18" nj="1" />
<domain id="sec04U" ibegin="29" jbegin="80" ni="16" nj="1" />
<domain id="sec05U" ibegin="25" jbegin="88" ni="12" nj="1" />
<domain id="sec06U" ibegin="25" jbegin="91" ni="7" nj="1" />
<domain id="sec07U" ibegin="25" jbegin="92" ni="3" nj="1" />
<domain id="sec08U" ibegin="57" jbegin="77" ni="4" nj="1" />
<domain id="sec09U" ibegin="61" jbegin="62" ni="1" nj="15" />
<domain id="sec00SU" ibegin="2" jbegin="2" ni="115" nj="1" />
<domain id="sec00NU" ibegin="2" jbegin="104" ni="115" nj="1" />
<domain id="sec00WU" ibegin="2" jbegin="2" ni="1" nj="103" />
<domain id="sec00EU" ibegin="116" jbegin="2" ni="1" nj="103" />
<!-- Eq section -->
<domain id="EqU" ibegin="1" jbegin="0000" ni="0000" nj="1" />
</domain_group>
<domain_group id="grid_V">
<domain id="grid_V" long_name="grid V"/>
<!-- My zoom: example of hand defined zoom -->
<domain id="moorV" ibegin="39" jbegin="82" ni="1" nj="1" />
<domain id="sec01V" ibegin="33" jbegin="62" ni="28" nj="1" />
<domain id="sec02V" ibegin="34" jbegin="68" ni="27" nj="1" />
<domain id="sec03V" ibegin="29" jbegin="75" ni="18" nj="1" />
<domain id="sec04V" ibegin="29" jbegin="80" ni="16" nj="1" />
<domain id="sec05V" ibegin="25" jbegin="88" ni="12" nj="1" />
<domain id="sec06V" ibegin="25" jbegin="91" ni="7" nj="1" />
<domain id="sec07V" ibegin="25" jbegin="92" ni="3" nj="1" />
<domain id="sec08V" ibegin="57" jbegin="77" ni="4" nj="1" />
<domain id="sec09V" ibegin="61" jbegin="62" ni="1" nj="15" />
<domain id="sec00SV" ibegin="2" jbegin="2" ni="115" nj="1" />
<domain id="sec00NV" ibegin="2" jbegin="104" ni="115" nj="1" />
<domain id="sec00WV" ibegin="2" jbegin="2" ni="1" nj="103" />
<domain id="sec00EV" ibegin="116" jbegin="2" ni="1" nj="103" />
</domain_group>
<domain_group id="grid_W">
<domain id="grid_W" long_name="grid W"/>
<!-- My zoom: example of hand defined zoom -->
<domain id="moorW" ibegin="39" jbegin="82" ni="1" nj="1" />
<domain id="sec01W" ibegin="33" jbegin="62" ni="28" nj="1" />
<domain id="sec02W" ibegin="34" jbegin="68" ni="27" nj="1" />
<domain id="sec03W" ibegin="29" jbegin="75" ni="18" nj="1" />
<domain id="sec04W" ibegin="29" jbegin="80" ni="16" nj="1" />
<domain id="sec05W" ibegin="25" jbegin="88" ni="12" nj="1" />
<domain id="sec06W" ibegin="25" jbegin="91" ni="7" nj="1" />
<domain id="sec07W" ibegin="25" jbegin="92" ni="3" nj="1" />
<domain id="sec08W" ibegin="57" jbegin="77" ni="4" nj="1" />
<domain id="sec09W" ibegin="61" jbegin="62" ni="1" nj="15" />
<domain id="sec00SW" ibegin="2" jbegin="2" ni="115" nj="1" />
<domain id="sec00NW" ibegin="2" jbegin="104" ni="115" nj="1" />
<domain id="sec00WW" ibegin="2" jbegin="2" ni="1" nj="103" />
<domain id="sec00EW" ibegin="116" jbegin="2" ni="1" nj="103" />
<!-- Eq section -->
<domain id="EqW" ibegin="1" jbegin="0000" ni="0000" nj="1" />
</domain_group>
<domain_group id="scalarpoint">
<domain id="scalarpoint" long_name="scalar"/>
</domain_group>
<domain_group id="gznl">
<domain id="gznl" long_name="gznl"/>
<domain id="ptr" domain_ref="gznl" >
<zoom_domain id="ptr" ibegin="0000" jbegin="0" ni="1" nj="0000" />
</domain>
</domain_group>
</domain_definition>
This diff is collapsed.
<?xml version="1.0"?>
<!--
============================================================================================================
= output files definition =
= Define your own files =
= put the variables you want... =
============================================================================================================
-->
<file_definition type="multiple_file" name="@expname@_@freq@_@startdate@_@enddate@" sync_freq="10d" min_digits="4">
<file_group id="15mi" output_freq="15mi" output_level="10" enabled=".TRUE." > <!-- 1 time step files -->
<file id="file1" name_suffix="_grid_T" description="ocean T grid variables" >
<field field_ref="ssh" name="zos" long_name="sea_surface_height_above_geoid" operation="instant" />
</file>
<file id="file2" name_suffix="_grid_U" description="ocean U grid variables" >
<field field_ref="ssu" name="uos" long_name="sea_water_surface_x_velocity" operation="instant" />
<field field_ref="uwnd" name="uwnd" long_name="u_component_of_wind" operation="instant" />
</file>
<file id="file3" name_suffix="_grid_V" description="ocean V grid variables" >
<field field_ref="ssv" name="vos" long_name="sea_water_surface_y_velocity" operation="instant" />
<field field_ref="vwnd" name="vwnd" long_name="v_component_of_wind" operation="instant" />
</file>
</file_group>
<file_group id="1h" output_freq="1h" output_level="10" enabled=".TRUE." />
<file_group id="2h" output_freq="2h" output_level="10" enabled=".TRUE."/> <!-- 2h files -->
<file_group id="3h" output_freq="3h" output_level="10" enabled=".TRUE."/> <!-- 3h files -->
<file_group id="4h" output_freq="4h" output_level="10" enabled=".TRUE."/> <!-- 4h files -->
<file_group id="6h" output_freq="6h" output_level="10" enabled=".TRUE."/> <!-- 6h files -->
<file_group id="25h_mean" output_freq="1d" output_level="10" enabled=".TRUE."/>
<file_group id="1d" output_freq="1d" output_level="10" enabled=".TRUE."/> <!-- 1d files -->
<file_group id="3d" output_freq="3d" output_level="10" enabled=".TRUE."/> <!-- 3d files -->
<file_group id="5d" output_freq="5d" output_level="10" enabled=".TRUE."/> <!-- 5d files -->
<file_group id="1m" output_freq="1mo" output_level="10" enabled=".TRUE."/> <!-- real monthly files -->
<file_group id="2m" output_freq="2mo" output_level="10" enabled=".TRUE."/> <!-- real 2m files -->
<file_group id="3m" output_freq="3mo" output_level="10" enabled=".TRUE."/> <!-- real 3m files -->
<file_group id="4m" output_freq="4mo" output_level="10" enabled=".TRUE."/> <!-- real 4m files -->
<file_group id="6m" output_freq="6mo" output_level="10" enabled=".TRUE."/> <!-- real 6m files -->
<file_group id="1y" output_freq="1y" output_level="10" enabled=".TRUE."/> <!-- real yearly files -->
<file_group id="2y" output_freq="2y" output_level="10" enabled=".TRUE."/> <!-- real 2y files -->
<file_group id="5y" output_freq="5y" output_level="10" enabled=".TRUE."/> <!-- real 5y files -->
<file_group id="10y" output_freq="10y" output_level="10" enabled=".TRUE."/> <!-- real 10y files -->
</file_definition>
<?xml version="1.0"?>
<!--
============================================================================================================
= output files definition =
= Define your own files =
= put the variables you want... =
============================================================================================================
-->
<file_definition type="one_file" name="@expname@_@freq@_@startdate@_@enddate@" sync_freq="10d" min_digits="4">
<file_group id="1ts" output_freq="1ts" output_level="10" enabled=".TRUE."/> <!-- 1 time step files -->
<file_group id="1h" output_freq="1h" output_level="10" enabled=".TRUE."> <!-- 1h files -->
<file id="file19" name_suffix="_SSH" description="ocean T grid variables" >
<field field_ref="ssh" name="zos" />
<field field_ref="sst" name="tos" />
</file>
</file_group>
<file_group id="2h" output_freq="2h" output_level="10" enabled=".TRUE."/> <!-- 2h files -->
<file_group id="3h" output_freq="3h" output_level="10" enabled=".TRUE."/> <!-- 3h files -->
<file_group id="4h" output_freq="4h" output_level="10" enabled=".TRUE."/> <!-- 4h files -->
<file_group id="6h" output_freq="6h" output_level="10" enabled=".TRUE."/> <!-- 6h files -->
<file_group id="1d" output_freq="1d" output_level="10" enabled=".TRUE."/> <!-- 1d files -->
<file_group id="3d" output_freq="3d" output_level="10" enabled=".TRUE."/> <!-- 3d files -->
<file_group id="5d" output_freq="5d" output_level="10" enabled=".TRUE."> <!-- 5d files -->
<file id="file20" name_suffix="_Tides" description="tidal harmonics" >
<field field_ref="M2x" name="M2x" long_name="M2 Elevation harmonic real part" />
<field field_ref="M2y" name="M2y" long_name="M2 Elevation harmonic imaginary part" />
<field field_ref="M2x_u" name="M2x_u" long_name="M2 current barotrope along i-axis harmonic real part " />
<field field_ref="M2y_u" name="M2y_u" long_name="M2 current barotrope along i-axis harmonic imaginary part " />
<field field_ref="M2x_v" name="M2x_v" long_name="M2 current barotrope along j-axis harmonic real part " />
<field field_ref="M2y_v" name="M2y_v" long_name="M2 current barotrope along j-axis harmonic imaginary part " />
</file>
<!--
<file id="file11" name_suffix="_Tides_T" >
<field field_ref="M2x" name="M2_x_elev" />
<field field_ref="M2y" name="M2_y_elev" />
<field field_ref="S2x" name="S2_x_elev" />
<field field_ref="S2y" name="S2_y_elev" />
<field field_ref="N2x" name="N2_x_elev" />
<field field_ref="N2y" name="N2_y_elev" />
<field field_ref="K2x" name="K2_x_elev" />
<field field_ref="K2y" name="K2_y_elev" />
<field field_ref="K1x" name="K1_x_elev" />
<field field_ref="K1y" name="K1_y_elev" />
<field field_ref="M4x" name="M4_x_elev" />
<field field_ref="M4y" name="M4_y_elev" />
<field field_ref="Q1x" name="Q1_x_elev" />
<field field_ref="Q1y" name="Q1_y_elev" />
<field field_ref="O1x" name="O1_x_elev" />
<field field_ref="O1y" name="O1_y_elev" />
<field field_ref="P1x" name="P1_x_elev" />
<field field_ref="P1y" name="P1_y_elev" />
<field field_ref="S1x" name="S1_x_elev" />
<field field_ref="S1y" name="S1_y_elev" />
<field field_ref="2N2x" name="a2N2_x_elev" />
<field field_ref="2N2y" name="a2N2_y_elev" />
<field field_ref="MU2x" name="MU2_x_elev" />
<field field_ref="MU2y" name="MU2_y_elev" />
<field field_ref="NU2x" name="NU2_x_elev" />
<field field_ref="NU2y" name="NU2_y_elev" />
<field field_ref="L2x" name="L2_x_elev" />
<field field_ref="L2y" name="L2_y_elev" />
<field field_ref="T2x" name="T2_x_elev" />
<field field_ref="T2y" name="T2_y_elev" />
</file>
<file id="file12" name_suffix="_Tides_U" >
<field field_ref="M2x_u" name="M2_x_u" />
<field field_ref="M2y_u" name="M2_y_u" />
<field field_ref="S2x_u" name="S2_x_u" />
<field field_ref="S2y_u" name="S2_y_u" />
<field field_ref="N2x_u" name="N2_x_u" />
<field field_ref="N2y_u" name="N2_y_u" />
<field field_ref="K2x_u" name="K2_x_u" />
<field field_ref="K2y_u" name="K2_y_u" />
<field field_ref="K1x_u" name="K1_x_u" />
<field field_ref="K1y_u" name="K1_y_u" />
<field field_ref="M4x_u" name="M4_x_u" />
<field field_ref="M4y_u" name="M4_y_u" />
<field field_ref="Q1x_u" name="Q1_x_u" />
<field field_ref="Q1y_u" name="Q1_y_u" />
<field field_ref="O1x_u" name="O1_x_u" />
<field field_ref="O1y_u" name="O1_y_u" />
<field field_ref="P1x_u" name="P1_x_u" />
<field field_ref="P1y_u" name="P1_y_u" />
<field field_ref="S1x_u" name="S1_x_u" />
<field field_ref="S1y_u" name="S1_y_u" />
<field field_ref="2N2x_u" name="a2N2_x_u" />
<field field_ref="2N2y_u" name="a2N2_y_u" />
<field field_ref="MU2x_u" name="MU2_x_u" />
<field field_ref="MU2y_u" name="MU2_y_u" />
<field field_ref="NU2x_u" name="NU2_x_u" />
<field field_ref="NU2y_u" name="NU2_y_u" />
<field field_ref="L2x_u" name="L2_x_u" />
<field field_ref="L2y_u" name="L2_y_u" />
<field field_ref="T2x_u" name="T2_x_u" />
<field field_ref="T2y_u" name="T2_y_u" />
</file>
<file id="file13" name_suffix="_Tides_V" >
<field field_ref="M2x_v" name="M2_x_v" />
<field field_ref="M2y_v" name="M2_y_v" />
<field field_ref="S2x_v" name="S2_x_v" />
<field field_ref="S2y_v" name="S2_y_v" />
<field field_ref="N2x_v" name="N2_x_v" />
<field field_ref="N2y_v" name="N2_y_v" />
<field field_ref="K2x_v" name="K2_x_v" />
<field field_ref="K2y_v" name="K2_y_v" />
<field field_ref="K1x_v" name="K1_x_v" />
<field field_ref="K1y_v" name="K1_y_v" />
<field field_ref="M4x_v" name="M4_x_v" />
<field field_ref="M4y_v" name="M4_y_v" />
<field field_ref="Q1x_v" name="Q1_x_v" />
<field field_ref="Q1y_v" name="Q1_y_v" />
<field field_ref="O1x_v" name="O1_x_v" />
<field field_ref="O1y_v" name="O1_y_v" />
<field field_ref="P1x_v" name="P1_x_v" />
<field field_ref="P1y_v" name="P1_y_v" />
<field field_ref="S1x_v" name="S1_x_v" />
<field field_ref="S1y_v" name="S1_y_v" />
<field field_ref="2N2x_v" name="a2N2_x_v" />
<field field_ref="2N2y_v" name="a2N2_y_v" />
<field field_ref="MU2x_v" name="MU2_x_v" />
<field field_ref="MU2y_v" name="MU2_y_v" />
<field field_ref="NU2x_v" name="NU2_x_v" />
<field field_ref="NU2y_v" name="NU2_y_v" />
<field field_ref="L2x_v" name="L2_x_v" />
<field field_ref="L2y_v" name="L2_y_v" />
<field field_ref="T2x_v" name="T2_x_v" />
<field field_ref="T2y_v" name="T2_y_v" />
</file>
-->
</file_group>
<file_group id="1m" output_freq="1mo" output_level="10" enabled=".TRUE."/> <!-- real monthly files -->
<file_group id="2m" output_freq="2mo" output_level="10" enabled=".TRUE."/> <!-- real 2m files -->
<file_group id="3m" output_freq="3mo" output_level="10" enabled=".TRUE."/> <!-- real 3m files -->
<file_group id="4m" output_freq="4mo" output_level="10" enabled=".TRUE."/> <!-- real 4m files -->
<file_group id="6m" output_freq="6mo" output_level="10" enabled=".TRUE."/> <!-- real 6m files -->
<file_group id="1y" output_freq="1y" output_level="10" enabled=".TRUE."/> <!-- real yearly files -->
<file_group id="2y" output_freq="2y" output_level="10" enabled=".TRUE."/> <!-- real 2y files -->
<file_group id="5y" output_freq="5y" output_level="10" enabled=".TRUE."/> <!-- real 5y files -->
<file_group id="10y" output_freq="10y" output_level="10" enabled=".TRUE."/> <!-- real 10y files -->
</file_definition>
<?xml version="1.0"?>
<simulation>
<!-- ============================================================================================ -->
<!-- XIOS context -->
<!-- ============================================================================================ -->
<context id="xios">
<variable_definition>
<variable id="info_level" type="int">0</variable>
<variable id="using_server" type="bool">true</variable>
<variable id="using_oasis" type="bool">false</variable>
<variable id="oasis_codes_id" type="string" >oceanx</variable>
</variable_definition>
</context>
<!-- ============================================================================================ -->
<!-- NEMO CONTEXT add and suppress the components you need -->
<!-- ============================================================================================ -->
<context id="nemo" src="./context_nemo.xml"/> <!-- NEMO -->
</simulation>
This diff is collapsed.
This diff is collapsed.
#!/bin/bash
# ---------------------------
#===============================================================
# CLUSTER BITS
#===============================================================
#PBS -N EA_R12
#PBS -l select=21
#PBS -l walltime=02:00:00
#PBS -A n01-ACCORD
#PBS -j oe
#PBS -r n
# mail alert at (b)eginning, (e)nd and (a)bortion of execution
#PBS -m bea
module swap PrgEnv-cray PrgEnv-intel
module load cray-netcdf-hdf5parallel
module load cray-hdf5-parallel
export PBS_O_WORKDIR=$(readlink -f $PBS_O_WORKDIR)
# Change to the direcotry that the job was submitted from
cd $PBS_O_WORKDIR
# Set the number of threads to 1
# This prevents any system libraries from automatically
# using threading.
export OMP_NUM_THREADS=1
# Change to the directory that the job was submitted from
ulimit -s unlimited
ulimit -c unlimited
export NEMOproc=480 #550
export XIOSproc=1
#===============================================================
# LAUNCH JOB
#===============================================================
echo `date` : Launch Job
aprun -b -n 5 -N 5 ./xios_server.exe : -n $NEMOproc -N 24 ./opa
exit
THIS IS WORK IN PROGRESS. I.e. IT SEEMS LIKE A GOOD IDEA BUT IS NOT COMPLETE OR IN A SETTLED FORMAT
EXP00
=====
Main build directory
Originally at:
/work/n01/n01/ashbre/INDIAN_OCEAN/trunk_NEMOGCM_r8395/CONFIG/INDIAN_OCEAN/EXP00
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
MODULE dommsk
!!======================================================================
!! *** MODULE dommsk ***
!! Ocean initialization : domain land/sea mask
!!======================================================================
!! History : OPA ! 1987-07 (G. Madec) Original code
!! 6.0 ! 1993-03 (M. Guyon) symetrical conditions (M. Guyon)
!! 7.0 ! 1996-01 (G. Madec) suppression of common work arrays
!! - ! 1996-05 (G. Madec) mask computed from tmask
!! 8.0 ! 1997-02 (G. Madec) mesh information put in domhgr.F
!! 8.1 ! 1997-07 (G. Madec) modification of kbat and fmask
!! - ! 1998-05 (G. Roullet) free surface
!! 8.2 ! 2000-03 (G. Madec) no slip accurate
!! - ! 2001-09 (J.-M. Molines) Open boundaries
!! NEMO 1.0 ! 2002-08 (G. Madec) F90: Free form and module
!! - ! 2005-11 (V. Garnier) Surface pressure gradient organization
!! 3.2 ! 2009-07 (R. Benshila) Suppression of rigid-lid option
!! 3.6 ! 2015-05 (P. Mathiot) ISF: add wmask,wumask and wvmask
!! 4.0 ! 2016-06 (G. Madec, S. Flavoni) domain configuration / user defined interface
!!----------------------------------------------------------------------
!!----------------------------------------------------------------------
!! dom_msk : compute land/ocean mask
!!----------------------------------------------------------------------
USE oce ! ocean dynamics and tracers
USE dom_oce ! ocean space and time domain
USE usrdef_fmask ! user defined fmask
USE bdy_oce
USE in_out_manager ! I/O manager
USE iom
USE lbclnk ! ocean lateral boundary conditions (or mpp link)
USE lib_mpp ! Massively Parallel Processing library
USE wrk_nemo ! Memory allocation
USE timing ! Timing
IMPLICIT NONE
PRIVATE
PUBLIC dom_msk ! routine called by inidom.F90
! !!* Namelist namlbc : lateral boundary condition *
REAL(wp) :: rn_shlat ! type of lateral boundary condition on velocity
LOGICAL, PUBLIC :: ln_vorlat ! consistency of vorticity boundary condition
! with analytical eqs.
!! * Substitutions
# include "vectopt_loop_substitute.h90"
!!----------------------------------------------------------------------
!! NEMO/OPA 3.2 , LODYC-IPSL (2009)
!! $Id: dommsk.F90 7753 2017-03-03 11:46:59Z mocavero $
!! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt)
!!----------------------------------------------------------------------
CONTAINS
SUBROUTINE dom_msk( k_top, k_bot )
!!---------------------------------------------------------------------
!! *** ROUTINE dom_msk ***
!!
!! ** Purpose : Compute land/ocean mask arrays at tracer points, hori-
!! zontal velocity points (u & v), vorticity points (f) points.
!!
!! ** Method : The ocean/land mask at t-point is deduced from ko_top
!! and ko_bot, the indices of the fist and last ocean t-levels which
!! are either defined in usrdef_zgr or read in zgr_read.
!! The velocity masks (umask, vmask, wmask, wumask, wvmask)
!! are deduced from a product of the two neighboring tmask.
!! The vorticity mask (fmask) is deduced from tmask taking
!! into account the choice of lateral boundary condition (rn_shlat) :
!! rn_shlat = 0, free slip (no shear along the coast)
!! rn_shlat = 2, no slip (specified zero velocity at the coast)
!! 0 < rn_shlat < 2, partial slip | non-linear velocity profile
!! 2 < rn_shlat, strong slip | in the lateral boundary layer
!!
!! tmask_i : interior ocean mask at t-point, i.e. excluding duplicated
!! rows/lines due to cyclic or North Fold boundaries as well
!! as MPP halos.
!! tmask_h : halo mask at t-point, i.e. excluding duplicated rows/lines
!! due to cyclic or North Fold boundaries as well as MPP halos.
!!
!! ** Action : tmask, umask, vmask, wmask, wumask, wvmask : land/ocean mask
!! at t-, u-, v- w, wu-, and wv-points (=0. or 1.)
!! fmask : land/ocean mask at f-point (=0., or =1., or
!! =rn_shlat along lateral boundaries)
!! tmask_i : interior ocean mask
!! tmask_h : halo mask
!! ssmask , ssumask, ssvmask, ssfmask : 2D ocean mask
!!----------------------------------------------------------------------
INTEGER, DIMENSION(:,:), INTENT(in) :: k_top, k_bot ! first and last ocean level
!
INTEGER :: ji, jj, jk ! dummy loop indices
INTEGER :: iif, iil ! local integers
INTEGER :: ijf, ijl ! - -
INTEGER :: iktop, ikbot ! - -
INTEGER :: ios, inum
REAL(wp), POINTER, DIMENSION(:,:) :: zwf ! 2D workspace
!!
NAMELIST/namlbc/ rn_shlat, ln_vorlat
NAMELIST/nambdy/ ln_bdy ,nb_bdy, ln_coords_file, cn_coords_file, &
& ln_mask_file, cn_mask_file, cn_dyn2d, nn_dyn2d_dta, &
& cn_dyn3d, nn_dyn3d_dta, cn_tra, nn_tra_dta, &
& ln_tra_dmp, ln_dyn3d_dmp, rn_time_dmp, rn_time_dmp_out, &
& cn_ice_lim, nn_ice_lim_dta, &
& rn_ice_tem, rn_ice_sal, rn_ice_age, &
& ln_vol, nn_volctl, nn_rimwidth, nb_jpk_bdy
!!---------------------------------------------------------------------
!
IF( nn_timing == 1 ) CALL timing_start('dom_msk')
!
REWIND( numnam_ref ) ! Namelist namlbc in reference namelist : Lateral momentum boundary condition
READ ( numnam_ref, namlbc, IOSTAT = ios, ERR = 901 )
901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlbc in reference namelist', lwp )
REWIND( numnam_cfg ) ! Namelist namlbc in configuration namelist : Lateral momentum boundary condition
READ ( numnam_cfg, namlbc, IOSTAT = ios, ERR = 902 )
902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlbc in configuration namelist', lwp )
IF(lwm) WRITE ( numond, namlbc )
IF(lwp) THEN ! control print
WRITE(numout,*)
WRITE(numout,*) 'dommsk : ocean mask '
WRITE(numout,*) '~~~~~~'
WRITE(numout,*) ' Namelist namlbc'
WRITE(numout,*) ' lateral momentum boundary cond. rn_shlat = ',rn_shlat
WRITE(numout,*) ' consistency with analytical form ln_vorlat = ',ln_vorlat
ENDIF
IF ( rn_shlat == 0. ) THEN ; IF(lwp) WRITE(numout,*) ' ocean lateral free-slip '
ELSEIF ( rn_shlat == 2. ) THEN ; IF(lwp) WRITE(numout,*) ' ocean lateral no-slip '
ELSEIF ( 0. < rn_shlat .AND. rn_shlat < 2. ) THEN ; IF(lwp) WRITE(numout,*) ' ocean lateral partial-slip '
ELSEIF ( 2. < rn_shlat ) THEN ; IF(lwp) WRITE(numout,*) ' ocean lateral strong-slip '
ELSE
WRITE(ctmp1,*) ' rn_shlat is negative = ', rn_shlat
CALL ctl_stop( ctmp1 )
ENDIF
! Ocean/land mask at t-point (computed from ko_top and ko_bot)
! ----------------------------
!
tmask(:,:,:) = 0._wp
DO jj = 1, jpj
DO ji = 1, jpi
iktop = k_top(ji,jj)
ikbot = k_bot(ji,jj)
IF( iktop /= 0 ) THEN ! water in the column
tmask(ji,jj,iktop:ikbot ) = 1._wp
ENDIF
END DO
END DO
!SF add here lbc_lnk: bug not still understood : cause now domain configuration is read !
!!gm I don't understand why...
CALL lbc_lnk( tmask , 'T', 1._wp ) ! Lateral boundary conditions
! Mask corrections for bdy (read in mppini2)
REWIND( numnam_ref ) ! Namelist nambdy in reference namelist :Unstructured open boundaries
READ ( numnam_ref, nambdy, IOSTAT = ios, ERR = 903)
903 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy in reference namelist', lwp )
REWIND( numnam_cfg ) ! Namelist nambdy in configuration namelist :Unstructured open boundaries
READ ( numnam_cfg, nambdy, IOSTAT = ios, ERR = 904 )
904 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy in configuration namelist', lwp )
! ------------------------
IF ( ln_bdy .AND. ln_mask_file ) THEN
CALL iom_open( cn_mask_file, inum )
CALL iom_get ( inum, jpdom_data, 'bdy_msk', bdytmask(:,:) )
CALL iom_close( inum )
DO jk = 1, jpkm1
DO jj = 1, jpj
DO ji = 1, jpi
tmask(ji,jj,jk) = tmask(ji,jj,jk) * bdytmask(ji,jj)
END DO
END DO
END DO
ENDIF
! Ocean/land mask at u-, v-, and f-points (computed from tmask)
! ----------------------------------------
! NB: at this point, fmask is designed for free slip lateral boundary condition
DO jk = 1, jpk
DO jj = 1, jpjm1
DO ji = 1, fs_jpim1 ! vector loop
umask(ji,jj,jk) = tmask(ji,jj ,jk) * tmask(ji+1,jj ,jk)
vmask(ji,jj,jk) = tmask(ji,jj ,jk) * tmask(ji ,jj+1,jk)
END DO
DO ji = 1, jpim1 ! NO vector opt.
fmask(ji,jj,jk) = tmask(ji,jj ,jk) * tmask(ji+1,jj ,jk) &
& * tmask(ji,jj+1,jk) * tmask(ji+1,jj+1,jk)
END DO
END DO
END DO
CALL lbc_lnk( umask , 'U', 1._wp ) ! Lateral boundary conditions
CALL lbc_lnk( vmask , 'V', 1._wp )
CALL lbc_lnk( fmask , 'F', 1._wp )
! Ocean/land mask at wu-, wv- and w points (computed from tmask)
!-----------------------------------------
wmask (:,:,1) = tmask(:,:,1) ! surface
wumask(:,:,1) = umask(:,:,1)
wvmask(:,:,1) = vmask(:,:,1)
DO jk = 2, jpk ! interior values
wmask (:,:,jk) = tmask(:,:,jk) * tmask(:,:,jk-1)
wumask(:,:,jk) = umask(:,:,jk) * umask(:,:,jk-1)
wvmask(:,:,jk) = vmask(:,:,jk) * vmask(:,:,jk-1)
END DO
! Ocean/land column mask at t-, u-, and v-points (i.e. at least 1 wet cell in the vertical)
! ----------------------------------------------
ssmask (:,:) = MAXVAL( tmask(:,:,:), DIM=3 )
ssumask(:,:) = MAXVAL( umask(:,:,:), DIM=3 )
ssvmask(:,:) = MAXVAL( vmask(:,:,:), DIM=3 )
! Interior domain mask (used for global sum)
! --------------------
!
iif = jpreci ; iil = nlci - jpreci + 1
ijf = jprecj ; ijl = nlcj - jprecj + 1
!
! ! halo mask : 0 on the halo and 1 elsewhere
tmask_h(:,:) = 1._wp
tmask_h( 1 :iif, : ) = 0._wp ! first columns
tmask_h(iil:jpi, : ) = 0._wp ! last columns (including mpp extra columns)
tmask_h( : , 1 :ijf) = 0._wp ! first rows
tmask_h( : ,ijl:jpj) = 0._wp ! last rows (including mpp extra rows)
!
! ! north fold mask
tpol(1:jpiglo) = 1._wp
fpol(1:jpiglo) = 1._wp
IF( jperio == 3 .OR. jperio == 4 ) THEN ! T-point pivot
tpol(jpiglo/2+1:jpiglo) = 0._wp
fpol( 1 :jpiglo) = 0._wp
IF( mjg(nlej) == jpjglo ) THEN ! only half of the nlcj-1 row for tmask_h
DO ji = iif+1, iil-1
tmask_h(ji,nlej-1) = tmask_h(ji,nlej-1) * tpol(mig(ji))
END DO
ENDIF
ENDIF
!
IF( jperio == 5 .OR. jperio == 6 ) THEN ! F-point pivot
tpol( 1 :jpiglo) = 0._wp
fpol(jpiglo/2+1:jpiglo) = 0._wp
ENDIF
!
! ! interior mask : 2D ocean mask x halo mask
tmask_i(:,:) = ssmask(:,:) * tmask_h(:,:)
! Lateral boundary conditions on velocity (modify fmask)
! ---------------------------------------
IF( rn_shlat /= 0 ) THEN ! Not free-slip lateral boundary condition
!
CALL wrk_alloc( jpi,jpj, zwf )
!
DO jk = 1, jpk
zwf(:,:) = fmask(:,:,jk)
DO jj = 2, jpjm1
DO ji = fs_2, fs_jpim1 ! vector opt.
IF( fmask(ji,jj,jk) == 0._wp ) THEN
fmask(ji,jj,jk) = rn_shlat * MIN( 1._wp , MAX( zwf(ji+1,jj), zwf(ji,jj+1), &
& zwf(ji-1,jj), zwf(ji,jj-1) ) )
ENDIF
END DO
END DO
DO jj = 2, jpjm1
IF( fmask(1,jj,jk) == 0._wp ) THEN
fmask(1 ,jj,jk) = rn_shlat * MIN( 1._wp , MAX( zwf(2,jj), zwf(1,jj+1), zwf(1,jj-1) ) )
ENDIF
IF( fmask(jpi,jj,jk) == 0._wp ) THEN
fmask(jpi,jj,jk) = rn_shlat * MIN( 1._wp , MAX( zwf(jpi,jj+1), zwf(jpim1,jj), zwf(jpi,jj-1) ) )
ENDIF
END DO
DO ji = 2, jpim1
IF( fmask(ji,1,jk) == 0._wp ) THEN
fmask(ji, 1 ,jk) = rn_shlat * MIN( 1._wp , MAX( zwf(ji+1,1), zwf(ji,2), zwf(ji-1,1) ) )
ENDIF
IF( fmask(ji,jpj,jk) == 0._wp ) THEN
fmask(ji,jpj,jk) = rn_shlat * MIN( 1._wp , MAX( zwf(ji+1,jpj), zwf(ji-1,jpj), zwf(ji,jpjm1) ) )
ENDIF
END DO
END DO
!
CALL wrk_dealloc( jpi,jpj, zwf )
!
CALL lbc_lnk( fmask, 'F', 1._wp ) ! Lateral boundary conditions on fmask
!
! CAUTION : The fmask may be further modified in dyn_vor_init ( dynvor.F90 ) depending on ln_vorlat
!
ENDIF
! User defined alteration of fmask (use to reduce ocean transport in specified straits)
! --------------------------------
!
CALL usr_def_fmask( cn_cfg, nn_cfg, fmask )
!
!
IF( nn_timing == 1 ) CALL timing_stop('dom_msk')
!
END SUBROUTINE dom_msk
!!======================================================================
END MODULE dommsk
MODULE sbctide
!!======================================================================
!! *** MODULE sbctide ***
!! Initialization of tidal forcing
!!======================================================================
!! History : 9.0 ! 2007 (O. Le Galloudec) Original code
!!----------------------------------------------------------------------
USE oce ! ocean dynamics and tracers variables
USE dom_oce ! ocean space and time domain
USE phycst ! physical constant
USE daymod ! calandar
USE tideini !
!
USE in_out_manager ! I/O units
USE iom ! xIOs server
USE ioipsl ! NetCDF IPSL library
USE lbclnk ! ocean lateral boundary conditions (or mpp link)
! NB - to access love number
USE bdytides
! END NB
IMPLICIT NONE
PUBLIC
REAL(wp), PUBLIC, ALLOCATABLE, DIMENSION(:,:) :: pot_astro !
!!----------------------------------------------------------------------
!! tidal potential
!!----------------------------------------------------------------------
!! sbc_tide :
!! tide_init_potential :
!!----------------------------------------------------------------------
REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: amp_pot, phi_pot
!!----------------------------------------------------------------------
!! NEMO/OPA 3.5 , NEMO Consortium (2013)
!! $Id: sbctide.F90 7646 2017-02-06 09:25:03Z timgraham $
!! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt)
!!----------------------------------------------------------------------
CONTAINS
SUBROUTINE sbc_tide( kt )
!!----------------------------------------------------------------------
!! *** ROUTINE sbc_tide ***
!!----------------------------------------------------------------------
INTEGER, INTENT( in ) :: kt ! ocean time-step
INTEGER :: jk ! dummy loop index
INTEGER :: nsec_day_orig ! Temporary variable
!!----------------------------------------------------------------------
IF( nsec_day == NINT(0.5_wp * rdt) .OR. kt == nit000 ) THEN ! start a new day
!
IF( kt == nit000 ) THEN
ALLOCATE( amp_pot(jpi,jpj,nb_harmo), &
& phi_pot(jpi,jpj,nb_harmo), pot_astro(jpi,jpj) )
ENDIF
!
amp_pot(:,:,:) = 0._wp
phi_pot(:,:,:) = 0._wp
pot_astro(:,:) = 0._wp
!
! If the run does not start from midnight then need to initialise tides
! at the start of the current day (only occurs when kt==nit000)
! Temporarily set nsec_day to beginning of day.
nsec_day_orig = nsec_day
IF ( nsec_day /= NINT(0.5_wp * rdt) ) THEN
kt_tide = kt - (nsec_day - 0.5_wp * rdt)/rdt
nsec_day = NINT(0.5_wp * rdt)
ELSE
kt_tide = kt
ENDIF
CALL tide_harmo( omega_tide, v0tide, utide, ftide, ntide, nb_harmo )
!
!
IF(lwp) THEN
WRITE(numout,*)
WRITE(numout,*) 'sbc_tide : Update of the components and (re)Init. the potential at kt=', kt
WRITE(numout,*) '~~~~~~~~ '
DO jk = 1, nb_harmo
WRITE(numout,*) Wave(ntide(jk))%cname_tide, utide(jk), ftide(jk), v0tide(jk), omega_tide(jk)
END DO
ENDIF
!
IF( ln_tide_pot ) CALL tide_init_potential
!
! Reset nsec_day
nsec_day = nsec_day_orig
ENDIF
!
END SUBROUTINE sbc_tide
SUBROUTINE tide_init_potential
!!----------------------------------------------------------------------
!! *** ROUTINE tide_init_potential ***
!!----------------------------------------------------------------------
INTEGER :: ji, jj, jk ! dummy loop indices
REAL(wp) :: zcons, ztmp1, ztmp2, zlat, zlon, ztmp, zamp, zcs ! local scalar
!!----------------------------------------------------------------------
DO jk = 1, nb_harmo
!--- NB 11/2017
! love number now provides in tide namelist
zcons = dn_love_number * Wave(ntide(jk))%equitide * ftide(jk)
! ORIGINAL zcons = 0.7_wp * Wave(ntide(jk))%equitide * ftide(jk)
!--- END NB
DO ji = 1, jpi
DO jj = 1, jpj
ztmp1 = amp_pot(ji,jj,jk) * COS( phi_pot(ji,jj,jk) )
ztmp2 = -amp_pot(ji,jj,jk) * SIN( phi_pot(ji,jj,jk) )
zlat = gphit(ji,jj)*rad !! latitude en radian
zlon = glamt(ji,jj)*rad !! longitude en radian
ztmp = v0tide(jk) + utide(jk) + Wave(ntide(jk))%nutide * zlon
! le potentiel est composé des effets des astres:
IF ( Wave(ntide(jk))%nutide == 1 ) THEN ; zcs = zcons * SIN( 2._wp*zlat )
ELSEIF( Wave(ntide(jk))%nutide == 2 ) THEN ; zcs = zcons * COS( zlat )**2
!--- NB 11/2017
! Add tide potential for long period tides
ELSEIF( Wave(ntide(jk))%nutide == 0 ) THEN ; zcs = zcons * (0.5_wp-1.5_wp*SIN(zlat)**2._wp)
!--- END NB
ELSE ; zcs = 0._wp
ENDIF
ztmp1 = ztmp1 + zcs * COS( ztmp )
ztmp2 = ztmp2 - zcs * SIN( ztmp )
zamp = SQRT( ztmp1*ztmp1 + ztmp2*ztmp2 )
amp_pot(ji,jj,jk) = zamp
phi_pot(ji,jj,jk) = ATAN2( -ztmp2 / MAX( 1.e-10_wp , zamp ) , &
& ztmp1 / MAX( 1.e-10_wp, zamp ) )
END DO
END DO
END DO
!
END SUBROUTINE tide_init_potential
!!======================================================================
END MODULE sbctide
This diff is collapsed.
MODULE step_oce
!!======================================================================
!! *** MODULE step_oce ***
!! Ocean time-stepping : module used in both initialisation phase and time stepping
!!======================================================================
!! History : 3.3 ! 2010-08 (C. Ethe) Original code - reorganisation of the initial phase
!! 3.7 ! 2014-01 (G. Madec) LDF simplication
!!----------------------------------------------------------------------
USE oce ! ocean dynamics and tracers variables
USE dom_oce ! ocean space and time domain variables
USE zdf_oce ! ocean vertical physics variables
USE daymod ! calendar (day routine)
USE sbc_oce ! surface boundary condition: ocean
USE sbcmod ! surface boundary condition (sbc routine)
USE sbcrnf ! surface boundary condition: runoff variables
USE sbccpl ! surface boundary condition: coupled formulation (call send at end of step)
USE sbcapr ! surface boundary condition: atmospheric pressure
USE sbctide ! Tide initialisation
USE sbcwave ! Wave intialisation
USE traqsr ! solar radiation penetration (tra_qsr routine)
USE trasbc ! surface boundary condition (tra_sbc routine)
USE trabbc ! bottom boundary condition (tra_bbc routine)
USE trabbl ! bottom boundary layer (tra_bbl routine)
USE tradmp ! internal damping (tra_dmp routine)
USE traadv ! advection scheme control (tra_adv_ctl routine)
USE traldf ! lateral mixing (tra_ldf routine)
USE trazdf ! vertical mixing (tra_zdf routine)
USE tranxt ! time-stepping (tra_nxt routine)
USE tranpc ! non-penetrative convection (tra_npc routine)
USE eosbn2 ! equation of state (eos_bn2 routine)
USE divhor ! horizontal divergence (div_hor routine)
USE dynadv ! advection (dyn_adv routine)
USE dynbfr ! Bottom friction terms (dyn_bfr routine)
USE dynvor ! vorticity term (dyn_vor routine)
USE dynhpg ! hydrostatic pressure grad. (dyn_hpg routine)
USE dynldf ! lateral momentum diffusion (dyn_ldf routine)
USE dynzdf ! vertical diffusion (dyn_zdf routine)
USE dynspg ! surface pressure gradient (dyn_spg routine)
USE dynnxt ! time-stepping (dyn_nxt routine)
USE stopar ! Stochastic parametrization (sto_par routine)
USE stopts
USE bdy_oce , ONLY: ln_bdy
USE bdydta ! open boundary condition data (bdy_dta routine)
USE bdytra ! bdy cond. for tracers (bdy_tra routine)
USE bdydyn3d ! bdy cond. for baroclinic vel. (bdy_dyn3d routine)
USE sshwzv ! vertical velocity and ssh (ssh_nxt routine)
! (ssh_swp routine)
! (wzv routine)
USE domvvl ! variable vertical scale factors (dom_vvl_sf_nxt routine)
! (dom_vvl_sf_swp routine)
USE ldfslp ! iso-neutral slopes (ldf_slp routine)
USE ldfdyn ! lateral eddy viscosity coef. (ldf_dyn routine)
USE ldftra ! lateral eddy diffusive coef. (ldf_tra routine)
USE zdftmx ! tide-induced vertical mixing (zdf_tmx routine)
USE zdfbfr ! bottom friction (zdf_bfr routine)
USE zdftke ! TKE vertical mixing (zdf_tke routine)
USE zdfgls ! GLS vertical mixing (zdf_gls routine)
USE zdfddm ! double diffusion mixing (zdf_ddm routine)
USE zdfevd ! enhanced vertical diffusion (zdf_evd routine)
USE zdfric ! Richardson vertical mixing (zdf_ric routine)
USE zdfmxl ! Mixed-layer depth (zdf_mxl routine)
USE zdfqiao !Qiao module wave induced mixing (zdf_qiao routine)
USE step_diu ! Time stepping for diurnal sst
USE diurnal_bulk ! diurnal SST bulk routines (diurnal_sst_takaya routine)
USE cool_skin ! diurnal cool skin correction (diurnal_sst_coolskin routine)
USE sbc_oce ! surface fluxes
USE zpshde ! partial step: hor. derivative (zps_hde routine)
USE diawri ! Standard run outputs (dia_wri routine)
USE diaptr ! poleward transports (dia_ptr routine)
USE diadct ! sections transports (dia_dct routine)
USE diaar5 ! AR5 diagnosics (dia_ar5 routine)
USE diahth ! thermocline depth (dia_hth routine)
USE diahsb ! heat, salt and volume budgets (dia_hsb routine)
USE diaharm
!--- NB for restart hamonic analysis
USE diaharm_fast ! harmonic analysis of tides (harm_ana routine)
!--- END NB -----------------------------------
USE diacfl
USE flo_oce ! floats variables
USE floats ! floats computation (flo_stp routine)
USE crsfld ! Standard output on coarse grid (crs_fld routine)
USE asminc ! assimilation increments (tra_asm_inc routine)
! (dyn_asm_inc routine)
USE asmbkg
USE stpctl ! time stepping control (stp_ctl routine)
USE restart ! ocean restart (rst_wri routine)
USE prtctl ! Print control (prt_ctl routine)
USE diaobs ! Observation operator
USE in_out_manager ! I/O manager
USE iom !
USE lbclnk
USE timing ! Timing
#if defined key_iomput
USE xios
#endif
#if defined key_agrif
USE agrif_opa_sponge ! Momemtum and tracers sponges
USE agrif_opa_update ! Update (2-way nesting)
#endif
#if defined key_top
USE trcstp ! passive tracer time-stepping (trc_stp routine)
#endif
!!----------------------------------------------------------------------
!! NEMO/OPA 3.7 , NEMO Consortium (2014)
!! $Id: step_oce.F90 7646 2017-02-06 09:25:03Z timgraham $
!! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt)
!!======================================================================
END MODULE step_oce
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment