Changeset 4201
- Timestamp:
- 2013-11-14T15:09:37+01:00 (10 years ago)
- Location:
- branches/2013/dev_CMCC_INGV_2013
- Files:
-
- 2 added
- 1 deleted
- 64 edited
- 3 copied
Legend:
- Unmodified
- Added
- Removed
-
branches/2013/dev_CMCC_INGV_2013/DOC/TexFiles/Chapters/Chap_SBC.tex
r3795 r4201 39 39 be supplied which maps the data from the supplied grid to the model points 40 40 (so called "Interpolation on the Fly", see \S\ref{SBC_iof}). 41 If the Interpolation on the Fly option is used, input data belonging to land points (in the native grid), 42 can be masked to avoid spurious results in proximity of the coasts as large sea-land gradients characterize 43 most of the atmospheric variables. 41 44 In addition, the resulting fields can be further modified using several namelist options. 42 45 These options control the rotation of vector components supplied relative to an east-north … … 197 200 to defined the input data file and variable names, the frequency of the data (in hours or months), 198 201 whether its is climatological data or not, the period covered by the input file (one year, month, week or day), 199 and t woadditional parameters for on-the-fly interpolation. When adding a new input variable,202 and three additional parameters for on-the-fly interpolation. When adding a new input variable, 200 203 the developer has to add the associated structure in the namelist, read this information 201 204 by mirroring the namelist read in \rou{sbc\_blk\_init} for example, and simply call \rou{fld\_read} … … 220 223 \begin{alltt} {{\tiny 221 224 \begin{verbatim} 222 ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 223 ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 225 ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 226 ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 224 227 \end{verbatim} 225 228 }}\end{alltt} … … 282 285 is not starting at the beginning of the year. 283 286 284 \item[Others]: 'weights filename' and 'pairing rotation' are associted with on-the-fly interpolation287 \item[Others]: 'weights filename', 'pairing rotation' and 'land/sea mask' are associted with on-the-fly interpolation 285 288 which is described in \S\ref{SBC_iof}. 286 289 … … 337 340 assumed by the model. 338 341 Two methods are currently available: bilinear and bicubic interpolation. 342 Prior to the interpolation, providing a land/sea mask file, the user can decide to 343 remove land points from the input file and substitute the corresponding values 344 with the average of the 8 neighbouring points in the native external grid. 345 Only "sea points" are considered for the averaging. The land/sea mask file must 346 be provided in the structure associated with the input variable. 347 The netcdf land/sea mask variable name must be 'LSM' it must have the same 348 horizontal and vertical dimensions of the associated variable and should 349 be equal to 1 over land and 0 elsewhere. 350 The procedure can be recursively applied setting nn_lsm > 1 in namsbc namelist. 351 Note that nn_lsm=0 forces the code to not apply the procedure even if a file for land/sea mask is supplied. 339 352 340 353 \subsubsection{Bilinear Interpolation} -
branches/2013/dev_CMCC_INGV_2013/DOC/TexFiles/Namelist/nambdy_dta
r3294 r4201 2 2 &nambdy_dta ! open boundaries - external data ("key_bdy") 3 3 !----------------------------------------------------------------------- 4 ! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! 5 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 6 bn_ssh = 'amm12_bdyT_u2d' , 24 , 'sossheig' , .true. , .false. , 'daily' , '' , '' 7 bn_u2d = 'amm12_bdyU_u2d' , 24 , 'vobtcrtx' , .true. , .false. , 'daily' , '' , '' 8 bn_v2d = 'amm12_bdyV_u2d' , 24 , 'vobtcrty' , .true. , .false. , 'daily' , '' , '' 9 bn_u3d = 'amm12_bdyU_u3d' , 24 , 'vozocrtx' , .true. , .false. , 'daily' , '' , '' 10 bn_v3d = 'amm12_bdyV_u3d' , 24 , 'vomecrty' , .true. , .false. , 'daily' , '' , '' 11 bn_tem = 'amm12_bdyT_tra' , 24 , 'votemper' , .true. , .false. , 'daily' , '' , '' 12 bn_sal = 'amm12_bdyT_tra' , 24 , 'vosaline' , .true. , .false. , 'daily' , '' , '' 4 ! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 5 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 6 bn_ssh = 'amm12_bdyT_u2d' , 24 , 'sossheig' , .true. , .false. , 'daily' , '' , '' , '' 7 bn_u2d = 'amm12_bdyU_u2d' , 24 , 'vobtcrtx' , .true. , .false. , 'daily' , '' , '' , '' 8 bn_v2d = 'amm12_bdyV_u2d' , 24 , 'vobtcrty' , .true. , .false. , 'daily' , '' , '' , '' 9 bn_u3d = 'amm12_bdyU_u3d' , 24 , 'vozocrtx' , .true. , .false. , 'daily' , '' , '' , '' 10 bn_v3d = 'amm12_bdyV_u3d' , 24 , 'vomecrty' , .true. , .false. , 'daily' , '' , '' , '' 11 bn_tem = 'amm12_bdyT_tra' , 24 , 'votemper' , .true. , .false. , 'daily' , '' , '' , '' 12 bn_sal = 'amm12_bdyT_tra' , 24 , 'vosaline' , .true. , .false. , 'daily' , '' , '' , '' 13 13 cn_dir = 'bdydta/' 14 14 ln_full_vel = .false. -
branches/2013/dev_CMCC_INGV_2013/DOC/TexFiles/Namelist/nambdy_dta2
r3294 r4201 2 2 &nambdy_dta ! open boundaries - external data ("key_bdy") 3 3 !----------------------------------------------------------------------- 4 ! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! 5 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 6 bn_tem = 'amm12_bdyT_clim' , -1 , 'votemper' , .true. , .true. , 'daily' , '' , '' 7 bn_sal = 'amm12_bdyT_clim' , -1 , 'vosaline' , .true. , .true. , 'daily' , '' , '' 4 ! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 5 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 6 bn_tem = 'amm12_bdyT_clim' , -1 , 'votemper' , .true. , .true. , 'daily' , '' , '' , '' 7 bn_sal = 'amm12_bdyT_clim' , -1 , 'vosaline' , .true. , .true. , 'daily' , '' , '' , '' 8 8 cn_dir = 'bdydta/' 9 9 ln_full_vel = .false. -
branches/2013/dev_CMCC_INGV_2013/DOC/TexFiles/Namelist/namberg
r3609 r4201 23 23 rn_speed_limit = 0. ! CFL speed limit for a berg 24 24 25 ! filename ! freq (hours) ! variable ! time interp. ! clim !'yearly' or ! weights ! rotation ! 26 ! ! (<0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 27 sn_icb = 'calving' , -1 , 'calvingmask', .true. , .true., 'yearly' , ' ' , ' ' 25 ! filename ! freq (hours) ! variable ! time interp. ! clim !'yearly' or ! weights ! rotation ! land/sea mask ! 26 ! ! (<0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 27 sn_icb = 'calving' , -1 , 'calvingmask', .true. , .true., 'yearly' , ' ' , ' ' , '' 28 28 29 29 cn_dir = './' -
branches/2013/dev_CMCC_INGV_2013/DOC/TexFiles/Namelist/namsbc
r3294 r4201 22 22 ! =3 global emp set to zero and spread out over erp area 23 23 ln_cdgw = .false. ! Neutral drag coefficient read from wave model (T => fill namsbc_wave) 24 nn_lsm = 0 ! =0 land/sea mask for input fields is not applied (the field land/sea mask filename 25 ! is left empty in namelist) , 26 ! =1:n number of iterations of land/sea mask application for input fields 24 27 / -
branches/2013/dev_CMCC_INGV_2013/DOC/TexFiles/Namelist/namsbc_apr
r3796 r4201 2 2 &namsbc_apr ! Atmospheric pressure used as ocean forcing or in bulk 3 3 !----------------------------------------------------------------------- 4 ! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! 5 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 6 sn_apr = 'patm' , -1 ,'somslpre', .true. , .true. , 'yearly' , '' , '' 4 ! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 5 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 6 sn_apr = 'patm' , -1 ,'somslpre', .true. , .true. , 'yearly' , '' , '' , '' 7 7 8 8 cn_dir = './' ! root directory for the location of the bulk files -
branches/2013/dev_CMCC_INGV_2013/DOC/TexFiles/Namelist/namsbc_clio
r3294 r4201 2 2 &namsbc_clio ! namsbc_clio CLIO bulk formulea 3 3 !----------------------------------------------------------------------- 4 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 5 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 6 sn_utau = 'taux_1m' , -1 , 'sozotaux', .true. , .true. , 'yearly' , '' , '' 7 sn_vtau = 'tauy_1m' , -1 , 'sometauy', .true. , .true. , 'yearly' , '' , '' 8 sn_wndm = 'flx' , -1 , 'socliowi', .true. , .true. , 'yearly' , '' , '' 9 sn_tair = 'flx' , -1 , 'socliot2', .true. , .true. , 'yearly' , '' , '' 10 sn_humi = 'flx' , -1 , 'socliohu', .true. , .true. , 'yearly' , '' , '' 11 sn_ccov = 'flx' , -1 , 'socliocl', .false. , .true. , 'yearly' , '' , '' 12 sn_prec = 'flx' , -1 , 'socliopl', .false. , .true. , 'yearly' , '' , '' 4 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 5 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 6 sn_utau = 'taux_1m' , -1 , 'sozotaux', .true. , .true. , 'yearly' , '' , '' , '' 7 sn_vtau = 'tauy_1m' , -1 , 'sometauy', .true. , .true. , 'yearly' , '' , '' , '' 8 sn_wndm = 'flx' , -1 , 'socliowi', .true. , .true. , 'yearly' , '' , '' , '' 9 sn_tair = 'flx' , -1 , 'socliot2', .true. , .true. , 'yearly' , '' , '' , '' 10 sn_humi = 'flx' , -1 , 'socliohu', .true. , .true. , 'yearly' , '' , '' , '' 11 sn_ccov = 'flx' , -1 , 'socliocl', .false. , .true. , 'yearly' , '' , '' , '' 12 sn_prec = 'flx' , -1 , 'socliopl', .false. , .true. , 'yearly' , '' , '' , '' 13 13 14 14 cn_dir = './' ! root directory for the location of the bulk files are -
branches/2013/dev_CMCC_INGV_2013/DOC/TexFiles/Namelist/namsbc_core
r3294 r4201 2 2 &namsbc_core ! namsbc_core CORE bulk formulea 3 3 !----------------------------------------------------------------------- 4 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 5 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 6 sn_wndi = 'u_10.15JUNE2009_orca2' , 6 , 'U_10_MOD', .false. , .true. , 'yearly' , '' , 'Uwnd' 7 sn_wndj = 'v_10.15JUNE2009_orca2' , 6 , 'V_10_MOD', .false. , .true. , 'yearly' , '' , 'Vwnd' 8 sn_qsr = 'ncar_rad.15JUNE2009_orca2' , 24 , 'SWDN_MOD', .false. , .true. , 'yearly' , '' , '' 9 sn_qlw = 'ncar_rad.15JUNE2009_orca2' , 24 , 'LWDN_MOD', .false. , .true. , 'yearly' , '' , '' 10 sn_tair = 't_10.15JUNE2009_orca2' , 6 , 'T_10_MOD', .false. , .true. , 'yearly' , '' , '' 11 sn_humi = 'q_10.15JUNE2009_orca2' , 6 , 'Q_10_MOD', .false. , .true. , 'yearly' , '' , '' 12 sn_prec = 'ncar_precip.15JUNE2009_orca2', -1 , 'PRC_MOD1', .false. , .true. , 'yearly' , '' , '' 13 sn_snow = 'ncar_precip.15JUNE2009_orca2', -1 , 'SNOW' , .false. , .true. , 'yearly' , '' , '' 14 sn_tdif = 'taudif_core' , 24 , 'taudif' , .false. , .true. , 'yearly' , '' , '' 4 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 5 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 6 sn_wndi = 'u_10.15JUNE2009_orca2' , 6 , 'U_10_MOD', .false. , .true. , 'yearly' , '' , 'Uwnd' , '' 7 sn_wndj = 'v_10.15JUNE2009_orca2' , 6 , 'V_10_MOD', .false. , .true. , 'yearly' , '' , 'Vwnd' , '' 8 sn_qsr = 'ncar_rad.15JUNE2009_orca2' , 24 , 'SWDN_MOD', .false. , .true. , 'yearly' , '' , '' , '' 9 sn_qlw = 'ncar_rad.15JUNE2009_orca2' , 24 , 'LWDN_MOD', .false. , .true. , 'yearly' , '' , '' , '' 10 sn_tair = 't_10.15JUNE2009_orca2' , 6 , 'T_10_MOD', .false. , .true. , 'yearly' , '' , '' , '' 11 sn_humi = 'q_10.15JUNE2009_orca2' , 6 , 'Q_10_MOD', .false. , .true. , 'yearly' , '' , '' , '' 12 sn_prec = 'ncar_precip.15JUNE2009_orca2', -1 , 'PRC_MOD1', .false. , .true. , 'yearly' , '' , '' , '' 13 sn_snow = 'ncar_precip.15JUNE2009_orca2', -1 , 'SNOW' , .false. , .true. , 'yearly' , '' , '' , '' 14 sn_tdif = 'taudif_core' , 24 , 'taudif' , .false. , .true. , 'yearly' , '' , '' , '' 15 15 16 16 cn_dir = './' ! root directory for the location of the bulk files -
branches/2013/dev_CMCC_INGV_2013/DOC/TexFiles/Namelist/namsbc_flx
r3294 r4201 2 2 &namsbc_flx ! surface boundary condition : flux formulation 3 3 !----------------------------------------------------------------------- 4 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 5 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 6 sn_utau = 'utau' , 24 , 'utau' , .false. , .false., 'yearly' , '' , '' 7 sn_vtau = 'vtau' , 24 , 'vtau' , .false. , .false., 'yearly' , '' , '' 8 sn_qtot = 'qtot' , 24 , 'qtot' , .false. , .false., 'yearly' , '' , '' 9 sn_qsr = 'qsr' , 24 , 'qsr' , .false. , .false., 'yearly' , '' , '' 10 sn_emp = 'emp' , 24 , 'emp' , .false. , .false., 'yearly' , '' , '' 4 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 5 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 6 sn_utau = 'utau' , 24 , 'utau' , .false. , .false., 'yearly' , '' , '' , '' 7 sn_vtau = 'vtau' , 24 , 'vtau' , .false. , .false., 'yearly' , '' , '' , '' 8 sn_qtot = 'qtot' , 24 , 'qtot' , .false. , .false., 'yearly' , '' , '' , '' 9 sn_qsr = 'qsr' , 24 , 'qsr' , .false. , .false., 'yearly' , '' , '' , '' 10 sn_emp = 'emp' , 24 , 'emp' , .false. , .false., 'yearly' , '' , '' , '' 11 11 12 12 cn_dir = './' ! root directory for the location of the flux files -
branches/2013/dev_CMCC_INGV_2013/DOC/TexFiles/Namelist/namsbc_mfs
r3294 r4201 2 2 &namsbc_mfs ! namsbc_mfs MFS bulk formulae 3 3 !----------------------------------------------------------------------- 4 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 5 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 6 sn_wndi = 'ecmwf' , 6 , 'u10' , .true. , .false. , 'daily' ,'bicubic.nc' , '' 7 sn_wndj = 'ecmwf' , 6 , 'v10' , .true. , .false. , 'daily' ,'bicubic.nc' , '' 8 sn_clc = 'ecmwf' , 6 , 'clc' , .true. , .false. , 'daily' ,'bilinear.nc', '' 9 sn_msl = 'ecmwf' , 6 , 'msl' , .true. , .false. , 'daily' ,'bicubic.nc' , '' 10 sn_tair = 'ecmwf' , 6 , 't2' , .true. , .false. , 'daily' ,'bicubic.nc' , '' 11 sn_rhm = 'ecmwf' , 6 , 'rh' , .true. , .false. , 'daily' ,'bilinear.nc', '' 12 sn_prec = 'precip' , 6 , 'precip' , .true. , .false. , 'daily' ,'bicubic' , '' 4 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 5 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 6 sn_wndi = 'ecmwf' , 6 , 'u10' , .true. , .false. , 'daily' ,'bicubic.nc' , '' , '' 7 sn_wndj = 'ecmwf' , 6 , 'v10' , .true. , .false. , 'daily' ,'bicubic.nc' , '' , '' 8 sn_clc = 'ecmwf' , 6 , 'clc' , .true. , .false. , 'daily' ,'bilinear.nc', '' , '' 9 sn_msl = 'ecmwf' , 6 , 'msl' , .true. , .false. , 'daily' ,'bicubic.nc' , '' , '' 10 sn_tair = 'ecmwf' , 6 , 't2' , .true. , .false. , 'daily' ,'bicubic.nc' , '' , '' 11 sn_rhm = 'ecmwf' , 6 , 'rh' , .true. , .false. , 'daily' ,'bilinear.nc', '' , '' 12 sn_prec = 'precip' , 6 , 'precip' , .true. , .false. , 'daily' ,'bicubic' , '' , '' 13 13 14 14 cn_dir = './ECMWF/' ! root directory for the location of the bulk files -
branches/2013/dev_CMCC_INGV_2013/DOC/TexFiles/Namelist/namsbc_rnf
r3294 r4201 2 2 &namsbc_rnf ! runoffs namelist surface boundary condition 3 3 !----------------------------------------------------------------------- 4 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 5 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 6 sn_rnf = 'runoff_core_monthly', -1 , 'sorunoff', .true. , .true. , 'yearly' , '' , '' 7 sn_cnf = 'runoff_core_monthly', 0 , 'socoefr0', .false. , .true. , 'yearly' , '' , '' 8 sn_s_rnf = 'runoffs' , 24 , 'rosaline', .true. , .true. , 'yearly' , '' , '' 9 sn_t_rnf = 'runoffs' , 24 , 'rotemper', .true. , .true. , 'yearly' , '' , '' 10 sn_dep_rnf = 'runoffs' , 0 , 'rodepth' , .false. , .true. , 'yearly' , '' , '' 4 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 5 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 6 sn_rnf = 'runoff_core_monthly', -1 , 'sorunoff', .true. , .true. , 'yearly' , '' , '' , '' 7 sn_cnf = 'runoff_core_monthly', 0 , 'socoefr0', .false. , .true. , 'yearly' , '' , '' , '' 8 sn_s_rnf = 'runoffs' , 24 , 'rosaline', .true. , .true. , 'yearly' , '' , '' , '' 9 sn_t_rnf = 'runoffs' , 24 , 'rotemper', .true. , .true. , 'yearly' , '' , '' , '' 10 sn_dep_rnf = 'runoffs' , 0 , 'rodepth' , .false. , .true. , 'yearly' , '' , '' , '' 11 11 12 12 cn_dir = './' ! root directory for the location of the runoff files -
branches/2013/dev_CMCC_INGV_2013/DOC/TexFiles/Namelist/namsbc_sas
r3699 r4201 2 2 &namsbc_sas ! analytical surface boundary condition 3 3 !----------------------------------------------------------------------- 4 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 5 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 6 sn_usp = 'sas_grid_U' , 120 , 'vozocrtx' , .true. , .true. , 'yearly' , '' , '' 7 sn_vsp = 'sas_grid_V' , 120 , 'vomecrty' , .true. , .true. , 'yearly' , '' , '' 8 sn_tem = 'sas_grid_T' , 120 , 'sosstsst' , .true. , .true. , 'yearly' , '' , '' 9 sn_sal = 'sas_grid_T' , 120 , 'sosaline' , .true. , .true. , 'yearly' , '' , '' 10 sn_ssh = 'sas_grid_T' , 120 , 'sossheig' , .true. , .true. , 'yearly' , '' , '' 4 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 5 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 6 sn_usp = 'sas_grid_U' , 120 , 'vozocrtx' , .true. , .true. , 'yearly' , '' , '' , '' 7 sn_vsp = 'sas_grid_V' , 120 , 'vomecrty' , .true. , .true. , 'yearly' , '' , '' , '' 8 sn_tem = 'sas_grid_T' , 120 , 'sosstsst' , .true. , .true. , 'yearly' , '' , '' , '' 9 sn_sal = 'sas_grid_T' , 120 , 'sosaline' , .true. , .true. , 'yearly' , '' , '' , '' 10 sn_ssh = 'sas_grid_T' , 120 , 'sossheig' , .true. , .true. , 'yearly' , '' , '' , '' 11 11 12 12 ln_3d_uv = .true. ! specify whether we are supplying a 3D u,v field -
branches/2013/dev_CMCC_INGV_2013/DOC/TexFiles/Namelist/namsbc_ssr
r3294 r4201 2 2 &namsbc_ssr ! surface boundary condition : sea surface restoring 3 3 !----------------------------------------------------------------------- 4 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 5 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 6 sn_sst = 'sst_data' , 24 , 'sst' , .false. , .false., 'yearly' , '' , '' 7 sn_sss = 'sss_data' , -1 , 'sss' , .true. , .true. , 'yearly' , '' , '' 4 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 5 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 6 sn_sst = 'sst_data' , 24 , 'sst' , .false. , .false., 'yearly' , '' , '' , '' 7 sn_sss = 'sss_data' , -1 , 'sss' , .true. , .true. , 'yearly' , '' , '' , '' 8 8 9 9 cn_dir = './' ! root directory for the location of the runoff files -
branches/2013/dev_CMCC_INGV_2013/DOC/TexFiles/Namelist/namsbc_wave
r3294 r4201 2 2 &namsbc_wave ! External fields from wave model 3 3 !----------------------------------------------------------------------- 4 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 5 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 6 sn_cdg = 'cdg_wave' , 1 , 'drag_coeff' , .true. , .false. , 'daily' , '' , '' 4 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 5 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 6 sn_cdg = 'cdg_wave' , 1 , 'drag_coeff' , .true. , .false. , 'daily' , '' , '' , '' 7 7 ! 8 8 cn_dir_cdg = './' ! root directory for the location of drag coefficient files -
branches/2013/dev_CMCC_INGV_2013/DOC/TexFiles/Namelist/namtra_qsr
r3294 r4201 2 2 &namtra_qsr ! penetrative solar radiation 3 3 !----------------------------------------------------------------------- 4 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 5 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 6 sn_chl ='chlorophyll', -1 , 'CHLA' , .true. , .true. , 'yearly' , '' , '' 4 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 5 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 6 sn_chl ='chlorophyll', -1 , 'CHLA' , .true. , .true. , 'yearly' , '' , '' , '' 7 7 8 8 cn_dir = './' ! root directory for the location of the runoff files -
branches/2013/dev_CMCC_INGV_2013/DOC/TexFiles/Namelist/namtsd
r3294 r4201 2 2 &namtsd ! data : Temperature & Salinity 3 3 !----------------------------------------------------------------------- 4 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim !'yearly' or ! weights ! rotation ! 5 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 6 sn_tem = 'data_1m_potential_temperature_nomask', -1,'votemper', .true. , .true., 'yearly' , ' ' , ' ' 7 sn_sal = 'data_1m_salinity_nomask' , -1,'vosaline', .true. , .true., 'yearly' , '' , ' ' 4 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim !'yearly' or ! weights ! rotation ! land/sea mask ! 5 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 6 sn_tem = 'data_1m_potential_temperature_nomask', -1,'votemper', .true. , .true., 'yearly' , ' ' , ' ' , '' 7 sn_sal = 'data_1m_salinity_nomask' , -1,'vosaline', .true. , .true., 'yearly' , '' , ' ' , '' 8 8 ! 9 9 cn_dir = './' ! root directory for the location of the runoff files -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/CONFIG/AMM12/EXP00/namelist
r3948 r4201 109 109 &namtsd ! data : Temperature & Salinity 110 110 !----------------------------------------------------------------------- 111 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim !'yearly' or ! weights ! rotation ! 112 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 113 sn_tem = 'data_1m_potential_temperature_nomask', -1,'votemper', .true. , .true., 'yearly' , ' ' , ' ' 114 sn_sal = 'data_1m_salinity_nomask' , -1,'vosaline', .true. , .true., 'yearly' , '' , ' ' 111 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim !'yearly' or ! weights ! rotation ! land/sea mask ! 112 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 113 sn_tem = 'data_1m_potential_temperature_nomask', -1,'votemper', .true. , .true., 'yearly' , ' ' , ' ' , '' 114 sn_sal = 'data_1m_salinity_nomask' , -1,'vosaline', .true. , .true., 'yearly' , '' , ' ' , '' 115 115 ! 116 116 cn_dir = './' ! root directory for the location of the runoff files … … 163 163 ln_cdgw = .false. ! Neutral drag coefficient read from wave model (T => fill namsbc_wave) 164 164 ln_sdw = .false. ! Computation of 3D stokes drift (T => fill namsbc_wave) 165 nn_lsm = 0 ! =0 land/sea mask for input fields is not applied (the field land/sea mask filename 166 ! is left empty in namelist) , 167 ! =1:n number of iterations of land/sea mask application for input fields 165 168 / 166 169 !----------------------------------------------------------------------- … … 177 180 &namsbc_flx ! surface boundary condition : flux formulation 178 181 !----------------------------------------------------------------------- 179 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 180 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 181 sn_utau = 'amm12_utau' , 1 , 'utau' , .false. , .false. , 'daily' , '' , '' 182 sn_vtau = 'amm12_vtau' , 1 , 'vtau' , .false. , .false. , 'daily' , '' , '' 183 sn_qtot = 'amm12_flx' , 3 , 'sonsfldo' , .true. , .false. , 'daily' , '' , '' 184 sn_qsr = 'amm12_flx' , 3 , 'soshfldo' , .true. , .false. , 'daily' , '' , '' 185 sn_emp = 'amm12_flx' , 3 , 'sowafldo' , .true. , .false. , 'daily' , '' , '' 182 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 183 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 184 sn_utau = 'amm12_utau' , 1 , 'utau' , .false. , .false. , 'daily' , '' , '' , '' 185 sn_vtau = 'amm12_vtau' , 1 , 'vtau' , .false. , .false. , 'daily' , '' , '' , '' 186 sn_qtot = 'amm12_flx' , 3 , 'sonsfldo' , .true. , .false. , 'daily' , '' , '' , '' 187 sn_qsr = 'amm12_flx' , 3 , 'soshfldo' , .true. , .false. , 'daily' , '' , '' , '' 188 sn_emp = 'amm12_flx' , 3 , 'sowafldo' , .true. , .false. , 'daily' , '' , '' , '' 186 189 cn_dir = './fluxes/' ! root directory for the location of the flux files 187 190 / … … 189 192 &namsbc_clio ! namsbc_clio CLIO bulk formulae 190 193 !----------------------------------------------------------------------- 191 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 192 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 193 sn_utau = 'taux_1m' , -1 , 'sozotaux', .true. , .true. , 'yearly' , '' , '' 194 sn_vtau = 'tauy_1m' , -1 , 'sometauy', .true. , .true. , 'yearly' , '' , '' 195 sn_wndm = 'flx' , -1 , 'socliowi', .true. , .true. , 'yearly' , '' , '' 196 sn_tair = 'flx' , -1 , 'socliot2', .true. , .true. , 'yearly' , '' , '' 197 sn_humi = 'flx' , -1 , 'socliohu', .true. , .true. , 'yearly' , '' , '' 198 sn_ccov = 'flx' , -1 , 'socliocl', .false. , .true. , 'yearly' , '' , '' 199 sn_prec = 'flx' , -1 , 'socliopl', .false. , .true. , 'yearly' , '' , '' 194 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 195 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 196 sn_utau = 'taux_1m' , -1 , 'sozotaux', .true. , .true. , 'yearly' , '' , '' , '' 197 sn_vtau = 'tauy_1m' , -1 , 'sometauy', .true. , .true. , 'yearly' , '' , '' , '' 198 sn_wndm = 'flx' , -1 , 'socliowi', .true. , .true. , 'yearly' , '' , '' , '' 199 sn_tair = 'flx' , -1 , 'socliot2', .true. , .true. , 'yearly' , '' , '' , '' 200 sn_humi = 'flx' , -1 , 'socliohu', .true. , .true. , 'yearly' , '' , '' , '' 201 sn_ccov = 'flx' , -1 , 'socliocl', .false. , .true. , 'yearly' , '' , '' , '' 202 sn_prec = 'flx' , -1 , 'socliopl', .false. , .true. , 'yearly' , '' , '' , '' 200 203 201 204 cn_dir = './' ! root directory for the location of the bulk files are … … 204 207 &namsbc_core ! namsbc_core CORE bulk formulae 205 208 !----------------------------------------------------------------------- 206 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 207 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 208 sn_wndi = 'u_10.15JUNE2009_orca2' , 6 , 'U_10_MOD', .false. , .true. , 'yearly' , '' , 'Uwnd' 209 sn_wndj = 'v_10.15JUNE2009_orca2' , 6 , 'V_10_MOD', .false. , .true. , 'yearly' , '' , 'Vwnd' 210 sn_qsr = 'ncar_rad.15JUNE2009_orca2' , 24 , 'SWDN_MOD', .false. , .true. , 'yearly' , '' , '' 211 sn_qlw = 'ncar_rad.15JUNE2009_orca2' , 24 , 'LWDN_MOD', .false. , .true. , 'yearly' , '' , '' 212 sn_tair = 't_10.15JUNE2009_orca2' , 6 , 'T_10_MOD', .false. , .true. , 'yearly' , '' , '' 213 sn_humi = 'q_10.15JUNE2009_orca2' , 6 , 'Q_10_MOD', .false. , .true. , 'yearly' , '' , '' 214 sn_prec = 'ncar_precip.15JUNE2009_orca2', -1 , 'PRC_MOD1', .false. , .true. , 'yearly' , '' , '' 215 sn_snow = 'ncar_precip.15JUNE2009_orca2', -1 , 'SNOW' , .false. , .true. , 'yearly' , '' , '' 216 sn_tdif = 'taudif_core' , 24 , 'taudif' , .false. , .true. , 'yearly' , '' , '' 209 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 210 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 211 sn_wndi = 'u_10.15JUNE2009_orca2' , 6 , 'U_10_MOD', .false. , .true. , 'yearly' , '' , 'Uwnd' , '' 212 sn_wndj = 'v_10.15JUNE2009_orca2' , 6 , 'V_10_MOD', .false. , .true. , 'yearly' , '' , 'Vwnd' , '' 213 sn_qsr = 'ncar_rad.15JUNE2009_orca2' , 24 , 'SWDN_MOD', .false. , .true. , 'yearly' , '' , '' , '' 214 sn_qlw = 'ncar_rad.15JUNE2009_orca2' , 24 , 'LWDN_MOD', .false. , .true. , 'yearly' , '' , '' , '' 215 sn_tair = 't_10.15JUNE2009_orca2' , 6 , 'T_10_MOD', .false. , .true. , 'yearly' , '' , '' , '' 216 sn_humi = 'q_10.15JUNE2009_orca2' , 6 , 'Q_10_MOD', .false. , .true. , 'yearly' , '' , '' , '' 217 sn_prec = 'ncar_precip.15JUNE2009_orca2', -1 , 'PRC_MOD1', .false. , .true. , 'yearly' , '' , '' , '' 218 sn_snow = 'ncar_precip.15JUNE2009_orca2', -1 , 'SNOW' , .false. , .true. , 'yearly' , '' , '' , '' 219 sn_tdif = 'taudif_core' , 24 , 'taudif' , .false. , .true. , 'yearly' , '' , '' , '' 217 220 218 221 cn_dir = './' ! root directory for the location of the bulk files … … 224 227 &namsbc_mfs ! namsbc_mfs MFS bulk formulae 225 228 !----------------------------------------------------------------------- 226 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 227 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 228 sn_wndi = 'ecmwf' , 6 , 'u10' , .true. , .false. , 'daily' ,'bicubic.nc' , '' 229 sn_wndj = 'ecmwf' , 6 , 'v10' , .true. , .false. , 'daily' ,'bicubic.nc' , '' 230 sn_clc = 'ecmwf' , 6 , 'clc' , .true. , .false. , 'daily' ,'bilinear.nc', '' 231 sn_msl = 'ecmwf' , 6 , 'msl' , .true. , .false. , 'daily' ,'bicubic.nc' , '' 232 sn_tair = 'ecmwf' , 6 , 't2' , .true. , .false. , 'daily' ,'bicubic.nc' , '' 233 sn_rhm = 'ecmwf' , 6 , 'rh' , .true. , .false. , 'daily' ,'bilinear.nc', '' 234 sn_prec = 'ecmwf' , 6 , 'precip' , .true. , .true. , 'daily' ,'bicubic.nc' , '' 229 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 230 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 231 sn_wndi = 'ecmwf' , 6 , 'u10' , .true. , .false. , 'daily' ,'bicubic.nc' , '' , '' 232 sn_wndj = 'ecmwf' , 6 , 'v10' , .true. , .false. , 'daily' ,'bicubic.nc' , '' , '' 233 sn_clc = 'ecmwf' , 6 , 'clc' , .true. , .false. , 'daily' ,'bilinear.nc', '' , '' 234 sn_msl = 'ecmwf' , 6 , 'msl' , .true. , .false. , 'daily' ,'bicubic.nc' , '' , '' 235 sn_tair = 'ecmwf' , 6 , 't2' , .true. , .false. , 'daily' ,'bicubic.nc' , '' , '' 236 sn_rhm = 'ecmwf' , 6 , 'rh' , .true. , .false. , 'daily' ,'bilinear.nc', '' , '' 237 sn_prec = 'ecmwf' , 6 , 'precip' , .true. , .true. , 'daily' ,'bicubic.nc' , '' , '' 235 238 236 239 cn_dir = './ECMWF/' ! root directory for the location of the bulk files … … 262 265 &namtra_qsr ! penetrative solar radiation 263 266 !----------------------------------------------------------------------- 264 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 265 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 266 sn_chl ='chlorophyll', -1 , 'CHLA' , .true. , .true. , 'yearly' , '' , '' 267 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 268 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 269 sn_chl ='chlorophyll', -1 , 'CHLA' , .true. , .true. , 'yearly' , '' , '' , '' 267 270 268 271 cn_dir = './' ! root directory for the location of the runoff files … … 279 282 &namsbc_rnf ! runoffs namelist surface boundary condition 280 283 !----------------------------------------------------------------------- 281 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 282 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 283 sn_rnf = 'amm12_rivers' , 24 , 'rorunoff', .false. , .true. , 'yearly' , '' , '' 284 sn_cnf = 'runoff_1m_nomask' , 0 , 'socoefr0', .false. , .true. , 'yearly' , '' , '' 285 sn_s_rnf = 'amm12_rivers' , 24 , 'rosaline', .false. , .true. , 'yearly' , '' , '' 286 sn_t_rnf = 'amm12_rivers' , 24 , 'rotemper', .false. , .true. , 'yearly' , '' , '' 287 sn_dep_rnf = 'amm12_rivers' , 24 , 'rodepth' , .false. , .true. , 'yearly' , '' , '' 284 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 285 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 286 sn_rnf = 'amm12_rivers' , 24 , 'rorunoff', .false. , .true. , 'yearly' , '' , '' , '' 287 sn_cnf = 'runoff_1m_nomask' , 0 , 'socoefr0', .false. , .true. , 'yearly' , '' , '' , '' 288 sn_s_rnf = 'amm12_rivers' , 24 , 'rosaline', .false. , .true. , 'yearly' , '' , '' , '' 289 sn_t_rnf = 'amm12_rivers' , 24 , 'rotemper', .false. , .true. , 'yearly' , '' , '' , '' 290 sn_dep_rnf = 'amm12_rivers' , 24 , 'rodepth' , .false. , .true. , 'yearly' , '' , '' , '' 288 291 289 292 cn_dir = './' ! root directory for the location of the runoff files … … 300 303 &namsbc_apr ! Atmospheric pressure used as ocean forcing or in bulk 301 304 !----------------------------------------------------------------------- 302 ! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! 303 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 304 sn_apr = 'patm' , -1 ,'somslpre', .true. , .true. , 'yearly' , '' , '' 305 ! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 306 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 307 sn_apr = 'patm' , -1 ,'somslpre', .true. , .true. , 'yearly' , '' , '' , '' 305 308 306 309 cn_dir = './' ! root directory for the location of the bulk files … … 312 315 &namsbc_ssr ! surface boundary condition : sea surface restoring 313 316 !----------------------------------------------------------------------- 314 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 315 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 316 sn_sst = 'amm12_sstref' , 24 , 'sst' , .true. , .false. , 'daily' , .false. , '' , '' 317 sn_sss = 'sss_data' , -1 , 'sss' , .true. , .true. , 'yearly' , .false. , '' , '' 317 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 318 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 319 sn_sst = 'amm12_sstref' , 24 , 'sst' , .true. , .false. , 'daily' , .false. , '' , '' ,'' 320 sn_sss = 'sss_data' , -1 , 'sss' , .true. , .true. , 'yearly' , .false. , '' , '' ,'' 318 321 319 322 cn_dir = 'fluxes/' ! root directory for the location of the runoff files … … 359 362 rn_speed_limit = 0. ! CFL speed limit for a berg 360 363 361 ! filename ! freq (hours) ! variable ! time interp. ! clim !'yearly' or ! weights ! rotation ! 362 ! ! (<0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 363 sn_icb = 'calving' , -1 , 'calvingmask', .true. , .true., 'yearly' , ' ' , ' ' 364 ! filename ! freq (hours) ! variable ! time interp. ! clim !'yearly' or ! weights ! rotation ! land/sea mask ! 365 ! ! (<0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 366 sn_icb = 'calving' , -1 , 'calvingmask', .true. , .true., 'yearly' , ' ' , ' ' , '' 364 367 365 368 cn_dir = './' … … 464 467 &nambdy_dta ! open boundaries - external data ("key_bdy") 465 468 !----------------------------------------------------------------------- 466 ! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! 467 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 468 bn_ssh = 'amm12_bdyT_u2d' , 24 , 'sossheig' , .true. , .false. , 'daily' , '' , '' 469 bn_u2d = 'amm12_bdyU_u2d' , 24 , 'vobtcrtx' , .true. , .false. , 'daily' , '' , '' 470 bn_v2d = 'amm12_bdyV_u2d' , 24 , 'vobtcrty' , .true. , .false. , 'daily' , '' , '' 471 bn_u3d = 'amm12_bdyU_u3d' , 24 , 'vozocrtx' , .true. , .false. , 'daily' , '' , '' 472 bn_v3d = 'amm12_bdyV_u3d' , 24 , 'vomecrty' , .true. , .false. , 'daily' , '' , '' 473 bn_tem = 'amm12_bdyT_tra' , 24 , 'votemper' , .true. , .false. , 'daily' , '' , '' 474 bn_sal = 'amm12_bdyT_tra' , 24 , 'vosaline' , .true. , .false. , 'daily' , '' , '' 469 ! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 470 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 471 bn_ssh = 'amm12_bdyT_u2d' , 24 , 'sossheig' , .true. , .false. , 'daily' , '' , '' , '' 472 bn_u2d = 'amm12_bdyU_u2d' , 24 , 'vobtcrtx' , .true. , .false. , 'daily' , '' , '' , '' 473 bn_v2d = 'amm12_bdyV_u2d' , 24 , 'vobtcrty' , .true. , .false. , 'daily' , '' , '' , '' 474 bn_u3d = 'amm12_bdyU_u3d' , 24 , 'vozocrtx' , .true. , .false. , 'daily' , '' , '' , '' 475 bn_v3d = 'amm12_bdyV_u3d' , 24 , 'vomecrty' , .true. , .false. , 'daily' , '' , '' , '' 476 bn_tem = 'amm12_bdyT_tra' , 24 , 'votemper' , .true. , .false. , 'daily' , '' , '' , '' 477 bn_sal = 'amm12_bdyT_tra' , 24 , 'vosaline' , .true. , .false. , 'daily' , '' , '' , '' 475 478 cn_dir = 'bdydta/' 476 479 ln_full_vel = .false. … … 991 994 &namsbc_wave ! External fields from wave model 992 995 !----------------------------------------------------------------------- 993 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 994 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 995 sn_cdg = 'cdg_wave' , 1 , 'drag_coeff' , .true. , .false. , 'daily' ,'' , '' 996 sn_usd = 'sdw_wave' , 1 , 'u_sd2d' , .true. , .false. , 'daily' ,'' , '' 997 sn_vsd = 'sdw_wave' , 1 , 'v_sd2d' , .true. , .false. , 'daily' ,'' , '' 998 sn_wn = 'sdw_wave' , 1 , 'wave_num' , .true. , .false. , 'daily' ,'' , '' 996 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 997 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 998 sn_cdg = 'cdg_wave' , 1 , 'drag_coeff' , .true. , .false. , 'daily' ,'' , '' , '' 999 sn_usd = 'sdw_wave' , 1 , 'u_sd2d' , .true. , .false. , 'daily' ,'' , '' , '' 1000 sn_vsd = 'sdw_wave' , 1 , 'v_sd2d' , .true. , .false. , 'daily' ,'' , '' , '' 1001 sn_wn = 'sdw_wave' , 1 , 'wave_num' , .true. , .false. , 'daily' ,'' , '' , '' 999 1002 ! 1000 1003 cn_dir_cdg = './' ! root directory for the location of drag coefficient files -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/CONFIG/GYRE/EXP00/namelist
r3795 r4201 109 109 &namtsd ! data : Temperature & Salinity 110 110 !----------------------------------------------------------------------- 111 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim !'yearly' or ! weights ! rotation ! 112 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 113 sn_tem = 'data_1m_potential_temperature_nomask', -1,'votemper', .true. , .true., 'yearly' , ' ' , ' ' 114 sn_sal = 'data_1m_salinity_nomask' , -1,'vosaline', .true. , .true., 'yearly' , '' , ' ' 111 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim !'yearly' or ! weights ! rotation ! land/sea mask ! 112 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 113 sn_tem = 'data_1m_potential_temperature_nomask', -1,'votemper', .true. , .true., 'yearly' , ' ' , ' ' , '' 114 sn_sal = 'data_1m_salinity_nomask' , -1,'vosaline', .true. , .true., 'yearly' , '' , ' ' , '' 115 115 ! 116 116 cn_dir = './' ! root directory for the location of the runoff files … … 163 163 ln_cdgw = .false. ! Neutral drag coefficient read from wave model (T => fill namsbc_wave) 164 164 ln_sdw = .false. ! Computation of 3D stokes drift (T => fill namsbc_wave) 165 nn_lsm = 0 ! =0 land/sea mask for input fields is not applied (the field land/sea mask filename 166 ! is left empty in namelist) , 167 ! =1:n number of iterations of land/sea mask application for input fields 165 168 / 166 169 !----------------------------------------------------------------------- … … 177 180 &namsbc_flx ! surface boundary condition : flux formulation 178 181 !----------------------------------------------------------------------- 179 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 180 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 181 sn_utau = 'utau' , 24 , 'utau' , .false. , .false., 'yearly' , '' , '' 182 sn_vtau = 'vtau' , 24 , 'vtau' , .false. , .false., 'yearly' , '' , '' 183 sn_qtot = 'qtot' , 24 , 'qtot' , .false. , .false., 'yearly' , '' , '' 184 sn_qsr = 'qsr' , 24 , 'qsr' , .false. , .false., 'yearly' , '' , '' 185 sn_emp = 'emp' , 24 , 'emp' , .false. , .false., 'yearly' , '' , '' 182 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 183 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 184 sn_utau = 'utau' , 24 , 'utau' , .false. , .false., 'yearly' , '' , '' , '' 185 sn_vtau = 'vtau' , 24 , 'vtau' , .false. , .false., 'yearly' , '' , '' , '' 186 sn_qtot = 'qtot' , 24 , 'qtot' , .false. , .false., 'yearly' , '' , '' , '' 187 sn_qsr = 'qsr' , 24 , 'qsr' , .false. , .false., 'yearly' , '' , '' , '' 188 sn_emp = 'emp' , 24 , 'emp' , .false. , .false., 'yearly' , '' , '' , '' 186 189 187 190 cn_dir = './' ! root directory for the location of the flux files … … 190 193 &namsbc_clio ! namsbc_clio CLIO bulk formulae 191 194 !----------------------------------------------------------------------- 192 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 193 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 194 sn_utau = 'taux_1m' , -1 , 'sozotaux', .true. , .true. , 'yearly' , '' , '' 195 sn_vtau = 'tauy_1m' , -1 , 'sometauy', .true. , .true. , 'yearly' , '' , '' 196 sn_wndm = 'flx' , -1 , 'socliowi', .true. , .true. , 'yearly' , '' , '' 197 sn_tair = 'flx' , -1 , 'socliot2', .true. , .true. , 'yearly' , '' , '' 198 sn_humi = 'flx' , -1 , 'socliohu', .true. , .true. , 'yearly' , '' , '' 199 sn_ccov = 'flx' , -1 , 'socliocl', .false. , .true. , 'yearly' , '' , '' 200 sn_prec = 'flx' , -1 , 'socliopl', .false. , .true. , 'yearly' , '' , '' 195 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 196 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 197 sn_utau = 'taux_1m' , -1 , 'sozotaux', .true. , .true. , 'yearly' , '' , '' , '' 198 sn_vtau = 'tauy_1m' , -1 , 'sometauy', .true. , .true. , 'yearly' , '' , '' , '' 199 sn_wndm = 'flx' , -1 , 'socliowi', .true. , .true. , 'yearly' , '' , '' , '' 200 sn_tair = 'flx' , -1 , 'socliot2', .true. , .true. , 'yearly' , '' , '' , '' 201 sn_humi = 'flx' , -1 , 'socliohu', .true. , .true. , 'yearly' , '' , '' , '' 202 sn_ccov = 'flx' , -1 , 'socliocl', .false. , .true. , 'yearly' , '' , '' , '' 203 sn_prec = 'flx' , -1 , 'socliopl', .false. , .true. , 'yearly' , '' , '' , '' 201 204 202 205 cn_dir = './' ! root directory for the location of the bulk files are … … 205 208 &namsbc_core ! namsbc_core CORE bulk formulae 206 209 !----------------------------------------------------------------------- 207 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 208 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 209 sn_wndi = 'u_10.15JUNE2009_orca2' , 6 , 'U_10_MOD', .false. , .true. , 'yearly' , '' , 'Uwnd' 210 sn_wndj = 'v_10.15JUNE2009_orca2' , 6 , 'V_10_MOD', .false. , .true. , 'yearly' , '' , 'Vwnd' 211 sn_qsr = 'ncar_rad.15JUNE2009_orca2' , 24 , 'SWDN_MOD', .false. , .true. , 'yearly' , '' , '' 212 sn_qlw = 'ncar_rad.15JUNE2009_orca2' , 24 , 'LWDN_MOD', .false. , .true. , 'yearly' , '' , '' 213 sn_tair = 't_10.15JUNE2009_orca2' , 6 , 'T_10_MOD', .false. , .true. , 'yearly' , '' , '' 214 sn_humi = 'q_10.15JUNE2009_orca2' , 6 , 'Q_10_MOD', .false. , .true. , 'yearly' , '' , '' 215 sn_prec = 'ncar_precip.15JUNE2009_orca2', -1 , 'PRC_MOD1', .false. , .true. , 'yearly' , '' , '' 216 sn_snow = 'ncar_precip.15JUNE2009_orca2', -1 , 'SNOW' , .false. , .true. , 'yearly' , '' , '' 217 sn_tdif = 'taudif_core' , 24 , 'taudif' , .false. , .true. , 'yearly' , '' , '' 210 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 211 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 212 sn_wndi = 'u_10.15JUNE2009_orca2' , 6 , 'U_10_MOD', .false. , .true. , 'yearly' , '' , 'Uwnd' , '' 213 sn_wndj = 'v_10.15JUNE2009_orca2' , 6 , 'V_10_MOD', .false. , .true. , 'yearly' , '' , 'Vwnd' , '' 214 sn_qsr = 'ncar_rad.15JUNE2009_orca2' , 24 , 'SWDN_MOD', .false. , .true. , 'yearly' , '' , '' , '' 215 sn_qlw = 'ncar_rad.15JUNE2009_orca2' , 24 , 'LWDN_MOD', .false. , .true. , 'yearly' , '' , '' , '' 216 sn_tair = 't_10.15JUNE2009_orca2' , 6 , 'T_10_MOD', .false. , .true. , 'yearly' , '' , '' , '' 217 sn_humi = 'q_10.15JUNE2009_orca2' , 6 , 'Q_10_MOD', .false. , .true. , 'yearly' , '' , '' , '' 218 sn_prec = 'ncar_precip.15JUNE2009_orca2', -1 , 'PRC_MOD1', .false. , .true. , 'yearly' , '' , '' , '' 219 sn_snow = 'ncar_precip.15JUNE2009_orca2', -1 , 'SNOW' , .false. , .true. , 'yearly' , '' , '' , '' 220 sn_tdif = 'taudif_core' , 24 , 'taudif' , .false. , .true. , 'yearly' , '' , '' , '' 218 221 219 222 cn_dir = './' ! root directory for the location of the bulk files … … 225 228 &namsbc_mfs ! namsbc_mfs MFS bulk formulae 226 229 !----------------------------------------------------------------------- 227 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 228 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 229 sn_wndi = 'ecmwf' , 6 , 'u10' , .true. , .false. , 'daily' ,'bicubic.nc' , '' 230 sn_wndj = 'ecmwf' , 6 , 'v10' , .true. , .false. , 'daily' ,'bicubic.nc' , '' 231 sn_clc = 'ecmwf' , 6 , 'clc' , .true. , .false. , 'daily' ,'bilinear.nc', '' 232 sn_msl = 'ecmwf' , 6 , 'msl' , .true. , .false. , 'daily' ,'bicubic.nc' , '' 233 sn_tair = 'ecmwf' , 6 , 't2' , .true. , .false. , 'daily' ,'bicubic.nc' , '' 234 sn_rhm = 'ecmwf' , 6 , 'rh' , .true. , .false. , 'daily' ,'bilinear.nc', '' 235 sn_prec = 'ecmwf' , 6 , 'precip' , .true. , .true. , 'daily' ,'bicubic.nc' , '' 230 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 231 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 232 sn_wndi = 'ecmwf' , 6 , 'u10' , .true. , .false. , 'daily' ,'bicubic.nc' , '' , '' 233 sn_wndj = 'ecmwf' , 6 , 'v10' , .true. , .false. , 'daily' ,'bicubic.nc' , '' , '' 234 sn_clc = 'ecmwf' , 6 , 'clc' , .true. , .false. , 'daily' ,'bilinear.nc', '' , '' 235 sn_msl = 'ecmwf' , 6 , 'msl' , .true. , .false. , 'daily' ,'bicubic.nc' , '' , '' 236 sn_tair = 'ecmwf' , 6 , 't2' , .true. , .false. , 'daily' ,'bicubic.nc' , '' , '' 237 sn_rhm = 'ecmwf' , 6 , 'rh' , .true. , .false. , 'daily' ,'bilinear.nc', '' , '' 238 sn_prec = 'ecmwf' , 6 , 'precip' , .true. , .true. , 'daily' ,'bicubic.nc' , '' , '' 236 239 237 240 cn_dir = './ECMWF/' ! root directory for the location of the bulk files … … 263 266 &namtra_qsr ! penetrative solar radiation 264 267 !----------------------------------------------------------------------- 265 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 266 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 267 sn_chl ='chlorophyll', -1 , 'CHLA' , .true. , .true. , 'yearly' , '' , '' 268 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 269 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 270 sn_chl ='chlorophyll', -1 , 'CHLA' , .true. , .true. , 'yearly' , '' , '' , '' 268 271 269 272 cn_dir = './' ! root directory for the location of the runoff files … … 280 283 &namsbc_rnf ! runoffs namelist surface boundary condition 281 284 !----------------------------------------------------------------------- 282 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 283 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 284 sn_rnf = 'runoff_core_monthly', -1 , 'sorunoff', .true. , .true. , 'yearly' , '' , '' 285 sn_cnf = 'runoff_core_monthly', 0 , 'socoefr0', .false. , .true. , 'yearly' , '' , '' 286 sn_s_rnf = 'runoffs' , 24 , 'rosaline', .true. , .true. , 'yearly' , '' , '' 287 sn_t_rnf = 'runoffs' , 24 , 'rotemper', .true. , .true. , 'yearly' , '' , '' 288 sn_dep_rnf = 'runoffs' , 0 , 'rodepth' , .false. , .true. , 'yearly' , '' , '' 285 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 286 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 287 sn_rnf = 'runoff_core_monthly', -1 , 'sorunoff', .true. , .true. , 'yearly' , '' , '' , '' 288 sn_cnf = 'runoff_core_monthly', 0 , 'socoefr0', .false. , .true. , 'yearly' , '' , '' , '' 289 sn_s_rnf = 'runoffs' , 24 , 'rosaline', .true. , .true. , 'yearly' , '' , '' , '' 290 sn_t_rnf = 'runoffs' , 24 , 'rotemper', .true. , .true. , 'yearly' , '' , '' , '' 291 sn_dep_rnf = 'runoffs' , 0 , 'rodepth' , .false. , .true. , 'yearly' , '' , '' , '' 289 292 290 293 cn_dir = './' ! root directory for the location of the runoff files … … 301 304 &namsbc_apr ! Atmospheric pressure used as ocean forcing or in bulk 302 305 !----------------------------------------------------------------------- 303 ! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! 304 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 305 sn_apr = 'patm' , -1 ,'somslpre', .true. , .true. , 'yearly' , '' , '' 306 ! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 307 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 308 sn_apr = 'patm' , -1 ,'somslpre', .true. , .true. , 'yearly' , '' , '' , '' 306 309 307 310 cn_dir = './' ! root directory for the location of the bulk files … … 313 316 &namsbc_ssr ! surface boundary condition : sea surface restoring 314 317 !----------------------------------------------------------------------- 315 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 316 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 317 sn_sst = 'sst_data' , 24 , 'sst' , .false. , .false., 'yearly' , '' , '' 318 sn_sss = 'sss_data' , -1 , 'sss' , .true. , .true. , 'yearly' , '' , '' 318 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 319 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 320 sn_sst = 'sst_data' , 24 , 'sst' , .false. , .false., 'yearly' , '' , '' , '' 321 sn_sss = 'sss_data' , -1 , 'sss' , .true. , .true. , 'yearly' , '' , '' , '' 319 322 320 323 cn_dir = './' ! root directory for the location of the runoff files … … 364 367 rn_speed_limit = 0. ! CFL speed limit for a berg 365 368 366 ! filename ! freq (hours) ! variable ! time interp. ! clim !'yearly' or ! weights ! rotation ! 367 ! ! (<0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 368 sn_icb = 'calving' , -1 , 'calvingmask', .true. , .true., 'yearly' , ' ' , ' ' 369 ! filename ! freq (hours) ! variable ! time interp. ! clim !'yearly' or ! weights ! rotation ! land/sea mask ! 370 ! ! (<0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 371 sn_icb = 'calving' , -1 , 'calvingmask', .true. , .true., 'yearly' , ' ' , ' ' , '' 369 372 370 373 cn_dir = './' … … 471 474 &nambdy_dta ! open boundaries - external data ("key_bdy") 472 475 !----------------------------------------------------------------------- 473 ! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! 474 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 475 bn_ssh = 'amm12_bdyT_u2d' , 24 , 'sossheig' , .true. , .false. , 'daily' , '' , '' 476 bn_u2d = 'amm12_bdyU_u2d' , 24 , 'vobtcrtx' , .true. , .false. , 'daily' , '' , '' 477 bn_v2d = 'amm12_bdyV_u2d' , 24 , 'vobtcrty' , .true. , .false. , 'daily' , '' , '' 478 bn_u3d = 'amm12_bdyU_u3d' , 24 , 'vozocrtx' , .true. , .false. , 'daily' , '' , '' 479 bn_v3d = 'amm12_bdyV_u3d' , 24 , 'vomecrty' , .true. , .false. , 'daily' , '' , '' 480 bn_tem = 'amm12_bdyT_tra' , 24 , 'votemper' , .true. , .false. , 'daily' , '' , '' 481 bn_sal = 'amm12_bdyT_tra' , 24 , 'vosaline' , .true. , .false. , 'daily' , '' , '' 476 ! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 477 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 478 bn_ssh = 'amm12_bdyT_u2d' , 24 , 'sossheig' , .true. , .false. , 'daily' , '' , '' , '' 479 bn_u2d = 'amm12_bdyU_u2d' , 24 , 'vobtcrtx' , .true. , .false. , 'daily' , '' , '' , '' 480 bn_v2d = 'amm12_bdyV_u2d' , 24 , 'vobtcrty' , .true. , .false. , 'daily' , '' , '' , '' 481 bn_u3d = 'amm12_bdyU_u3d' , 24 , 'vozocrtx' , .true. , .false. , 'daily' , '' , '' , '' 482 bn_v3d = 'amm12_bdyV_u3d' , 24 , 'vomecrty' , .true. , .false. , 'daily' , '' , '' , '' 483 bn_tem = 'amm12_bdyT_tra' , 24 , 'votemper' , .true. , .false. , 'daily' , '' , '' , '' 484 bn_sal = 'amm12_bdyT_tra' , 24 , 'vosaline' , .true. , .false. , 'daily' , '' , '' , '' 482 485 cn_dir = 'bdydta/' 483 486 ln_full_vel = .false. … … 1013 1016 &namsbc_wave ! External fields from wave model 1014 1017 !----------------------------------------------------------------------- 1015 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 1016 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 1017 sn_cdg = 'cdg_wave' , 1 , 'drag_coeff' , .true. , .false. , 'daily' ,'' , '' 1018 sn_usd = 'sdw_wave' , 1 , 'u_sd2d' , .true. , .false. , 'daily' ,'' , '' 1019 sn_vsd = 'sdw_wave' , 1 , 'v_sd2d' , .true. , .false. , 'daily' ,'' , '' 1020 sn_wn = 'sdw_wave' , 1 , 'wave_num' , .true. , .false. , 'daily' ,'' , '' 1018 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 1019 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 1020 sn_cdg = 'cdg_wave' , 1 , 'drag_coeff' , .true. , .false. , 'daily' ,'' , '' , '' 1021 sn_usd = 'sdw_wave' , 1 , 'u_sd2d' , .true. , .false. , 'daily' ,'' , '' , '' 1022 sn_vsd = 'sdw_wave' , 1 , 'v_sd2d' , .true. , .false. , 'daily' ,'' , '' , '' 1023 sn_wn = 'sdw_wave' , 1 , 'wave_num' , .true. , .false. , 'daily' ,'' , '' , '' 1021 1024 ! 1022 1025 cn_dir_cdg = './' ! root directory for the location of drag coefficient files -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/CONFIG/GYRE/cpp_GYRE.fcm
r3695 r4201 1 bld::tool::fppkeys key_gyre key_dynspg_flt key_ldfslp key_zdftke key_iomput key_mpp_mpi 1 bld::tool::fppkeys key_gyre key_dynspg_flt key_ldfslp key_zdftke key_iomput key_mpp_mpi key_nosignedzero -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/CONFIG/GYRE_BFM/README
r3813 r4201 5 5 INFO HELPDESK: info@bfm-community.eu 6 6 WEB SITE: www.bfm-community.eu 7 REVISION DATE: February20137 REVISION DATE: October 2013 8 8 9 9 Please address any technical query to the BFM System Team … … 33 33 Compile NEMO with the BFM 34 34 ----------------------------------------------------------------------- 35 NEMO-BFM is compiled from the BFM configuration script relying on the 36 NEMO FCM compilation environment. This is done to allow BFM users to 37 use new configurations in NEMO that are not part of the NEMO 38 standard distribution code. 39 The BFM configuration shipped with NEMO is GYRE_BFM (see next section) 40 35 41 Make sure that the BFMDIR variable is defined in your environment 36 (ex: export BFMDIR=path/to/bfm) 37 Define the variable NEMODIR pointing to the root of NEMO source code 38 (ex: export NEMODIR=path/to/nemo) 42 and define the variable NEMODIR pointing to the root of NEMO source code 43 It is assumed here that you have expanded the bfm in /home/user/bfm 44 and the root of this NEMO directory in /home/user/nemo then 45 and that you have already adjusted the appropriate ARCHFILE that 46 is used for the NEMO compilation with makenemo in ../../ARCH 39 47 40 Go to the $BFMDIR/build/Configurations/GYRE_BFM directory and read 41 carefully the README file. 42 Altrenatively, execute 43 $BFMDIR/build/bfm_config.sh -h 44 to get information on how to add the appropriate ARCHFILE that 45 is used for the NEMO compilation. 46 The script will generate the BFM code and then launch makenemo 47 to build the executable in this directory. 48 Execute the following commands: 49 >> export BFMDIR=/home/user/bfm 50 >> export NEMODIR=/home/user/nemo 51 >> cd $BFMDIR/build 52 >> ./bfm_config.sh -gcd -p GYRE_BFM 48 53 49 Once the BFM code has been generated the first time, the code can be 50 rebuilt with the following command: 51 ./makenemo -n GYRE_BFM -m ARCHFILE -e $BFMDIR/src/nemo 54 The script will generate (-g) the BFM code, then launch 55 makenemo for compilation (-c) and create the run directory 56 (-d) in $BFMDIR/run. 57 58 to get information on how to use the BFM configuration script run 59 >> ./bfm_config.sh -h 52 60 53 61 ----------------------------------------------------------------------- … … 56 64 The distributed standard test case is GYRE_BFM, a version of GYRE 57 65 with a full-blown BFM. It is a demnstration simulation and it is not 58 meant to produce any published result. The namelists for the BFM are 59 not distributed with NEMO but are generated directly by the BFM, in 60 directory $BFMDIR/run/GYRE_BFM. The user can either copy the content 61 of $NEMODIR/NEMOGCM/CONFIG/GYRE_BFM/EXP00 in this directory or the 62 other way around. GYRE_BFM runs with analytical input data only. 66 meant to produce any published result. 67 GYRE_BFM runs with analytical input data only. 68 The namelists for the BFM are not distributed with NEMO but are 69 generated directly by the BFM, in directory $BFMDIR/run/gyre_bfm. 70 The generation of the BFM namelist also copy the required NEMO 71 namelist and namelist_top files to this directory. 72 This is why there are no namelist files found in the standard 73 run directory $NEMODIR/NEMOGCM/CONFIG/GYRE_BFM/EXP00 74 75 Note for expert users: 76 If a user prefers to work in the NEMO directory than she has to 77 copy the generated namelists there 78 >> cp $BFMDIR/run/gyre_bfm/* $NEMODIR/NEMOGCM/CONFIG/GYRE_BFM/EXP00 79 Once the BFM code has been generated the first time, the code can be 80 also rebuilt with the standard NEMO command: 81 >> ./makenemo -n GYRE_BFM -m ARCHFILE -e $BFMDIR/src/nemo 63 82 64 83 ----------------------------------------------------------------------- 65 84 Other examples 66 85 ----------------------------------------------------------------------- 67 Other couplings with NEMO are available in $BFMDIR/build/Configurations. 86 Other couplings with NEMO are available in $BFMDIR/build/configurations. 87 Run the command 88 >> ./bfm_config.sh -P 89 to get a list of available presets 68 90 Please refer to the README file in each directory for more information. -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/CONFIG/GYRE_BFM/cpp_GYRE_BFM.fcm
r3695 r4201 1 bld::tool::fppkeys key_gyre key_dynspg_flt key_ldfslp key_zdftke key_vectopt_loop key_top key_my_trc key_mpp_mpi key_iomput 1 bld::tool::fppkeys key_gyre key_dynspg_flt key_ldfslp key_zdftke key_vectopt_loop key_top key_my_trc key_mpp_mpi key_iomput key_nosignedzero 2 2 inc $BFMDIR/src/nemo/bfm.fcm -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/CONFIG/GYRE_PISCES/EXP00/namelist_top
r3855 r4201 37 37 !----------------------------------------------------------------------- 38 38 ! 39 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 40 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 41 sn_trcdta(4) = 'NO3_R1' , -12 , 'NO3' , .false. , .true. , 'yearly' , '' , '' 39 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 40 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 41 sn_trcdta(4) = 'NO3_R1' , -12 , 'NO3' , .false. , .true. , 'yearly' , '' , '' , '' 42 42 43 43 cn_dir = './' ! root directory for the location of the runoff files -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/CONFIG/ORCA2_LIM/EXP00/1_namelist
r3944 r4201 110 110 &namtsd ! data : Temperature & Salinity 111 111 !----------------------------------------------------------------------- 112 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim !'yearly' or ! weights ! rotation ! 113 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 114 sn_tem = 'data_1m_potential_temperature_nomask', -1,'votemper', .true. , .true., 'yearly' , ' ' , ' ' 115 sn_sal = 'data_1m_salinity_nomask' , -1,'vosaline', .true. , .true., 'yearly' , '' , ' ' 112 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim !'yearly' or ! weights ! rotation ! land/sea mask ! 113 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 114 sn_tem = 'data_1m_potential_temperature_nomask', -1,'votemper', .true. , .true., 'yearly' , ' ' , ' ' , '' 115 sn_sal = 'data_1m_salinity_nomask' , -1,'vosaline', .true. , .true., 'yearly' , '' , ' ' , '' 116 116 cn_dir = './' ! root directory for the location of the runoff files 117 117 ln_tsd_init = .true. ! Initialisation of ocean T & S with T &S input data (T) or not (F) … … 155 155 ! =2 annual global mean of e-p-r set to zero 156 156 ! =3 global emp set to zero and spread out over erp area 157 nn_lsm = 0 ! =0 land/sea mask for input fields is not applied (the field land/sea mask filename 158 ! is left empty in namsbc namelists) , 159 ! =1:n number of iterations of land/sea mask application for input fields 157 160 / 158 161 !----------------------------------------------------------------------- … … 169 172 &namsbc_flx ! surface boundary condition : flux formulation 170 173 !----------------------------------------------------------------------- 171 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 172 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 173 sn_utau = 'utau' , 24 , 'utau' , .false. , .false., 'yearly' , '' , '' 174 sn_vtau = 'vtau' , 24 , 'vtau' , .false. , .false., 'yearly' , '' , '' 175 sn_qtot = 'qtot' , 24 , 'qtot' , .false. , .false., 'yearly' , '' , '' 176 sn_qsr = 'qsr' , 24 , 'qsr' , .false. , .false., 'yearly' , '' , '' 177 sn_emp = 'emp' , 24 , 'emp' , .false. , .false., 'yearly' , '' , '' 174 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 175 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 176 sn_utau = 'utau' , 24 , 'utau' , .false. , .false., 'yearly' , '' , '' , '' 177 sn_vtau = 'vtau' , 24 , 'vtau' , .false. , .false., 'yearly' , '' , '' , '' 178 sn_qtot = 'qtot' , 24 , 'qtot' , .false. , .false., 'yearly' , '' , '' , '' 179 sn_qsr = 'qsr' , 24 , 'qsr' , .false. , .false., 'yearly' , '' , '' , '' 180 sn_emp = 'emp' , 24 , 'emp' , .false. , .false., 'yearly' , '' , '' , '' 178 181 179 182 cn_dir = './' ! root directory for the location of the flux files … … 182 185 &namsbc_clio ! namsbc_clio CLIO bulk formulea 183 186 !----------------------------------------------------------------------- 184 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 185 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 186 sn_utau = 'taux_1m' , -1 , 'sozotaux', .true. , .true. , 'yearly' , '' , '' 187 sn_vtau = 'tauy_1m' , -1 , 'sometauy', .true. , .true. , 'yearly' , '' , '' 188 sn_wndm = 'flx' , -1 , 'socliowi', .true. , .true. , 'yearly' , '' , '' 189 sn_tair = 'flx' , -1 , 'socliot2', .true. , .true. , 'yearly' , '' , '' 190 sn_humi = 'flx' , -1 , 'socliohu', .true. , .true. , 'yearly' , '' , '' 191 sn_ccov = 'flx' , -1 , 'socliocl', .false. , .true. , 'yearly' , '' , '' 192 sn_prec = 'flx' , -1 , 'socliopl', .false. , .true. , 'yearly' , '' , '' 187 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 188 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 189 sn_utau = 'taux_1m' , -1 , 'sozotaux', .true. , .true. , 'yearly' , '' , '' , '' 190 sn_vtau = 'tauy_1m' , -1 , 'sometauy', .true. , .true. , 'yearly' , '' , '' , '' 191 sn_wndm = 'flx' , -1 , 'socliowi', .true. , .true. , 'yearly' , '' , '' , '' 192 sn_tair = 'flx' , -1 , 'socliot2', .true. , .true. , 'yearly' , '' , '' , '' 193 sn_humi = 'flx' , -1 , 'socliohu', .true. , .true. , 'yearly' , '' , '' , '' 194 sn_ccov = 'flx' , -1 , 'socliocl', .false. , .true. , 'yearly' , '' , '' , '' 195 sn_prec = 'flx' , -1 , 'socliopl', .false. , .true. , 'yearly' , '' , '' , '' 193 196 194 197 cn_dir = './' ! root directory for the location of the bulk files are … … 197 200 &namsbc_core ! namsbc_core CORE bulk formulea 198 201 !----------------------------------------------------------------------- 199 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 200 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 201 sn_wndi = 'u_10.15JUNE2009_orca2' , 6 , 'U_10_MOD', .false. , .true. , 'yearly' , 'weights_bicub.nc' , '' 202 sn_wndj = 'v_10.15JUNE2009_orca2' , 6 , 'V_10_MOD', .false. , .true. , 'yearly' , 'weights_bicub.nc' , '' 203 sn_qsr = 'ncar_rad.15JUNE2009_orca2' , 24 , 'SWDN_MOD', .false. , .true. , 'yearly' , 'weights_bilin.nc' , '' 204 sn_qlw = 'ncar_rad.15JUNE2009_orca2' , 24 , 'LWDN_MOD', .false. , .true. , 'yearly' , 'weights_bilin.nc' , '' 205 sn_tair = 't_10.15JUNE2009_orca2' , 6 , 'T_10_MOD', .false. , .true. , 'yearly' , 'weights_bilin.nc' , '' 206 sn_humi = 'q_10.15JUNE2009_orca2' , 6 , 'Q_10_MOD', .false. , .true. , 'yearly' , 'weights_bilin.nc' , '' 207 sn_prec = 'ncar_precip.15JUNE2009_orca2', -1 , 'PRC_MOD1', .false. , .true. , 'yearly' , 'weights_bilin.nc' , '' 208 sn_snow = 'ncar_precip.15JUNE2009_orca2', -1 , 'SNOW' , .false. , .true. , 'yearly' , 'weights_bilin.nc' , '' 209 sn_tdif = 'taudif_core' , 24 , 'taudif' , .false. , .true. , 'yearly' , 'weights_bilin.nc' , '' 202 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 203 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 204 sn_wndi = 'u_10.15JUNE2009_orca2' , 6 , 'U_10_MOD', .false. , .true. , 'yearly' , 'weights_bicub.nc' , '' , '' 205 sn_wndj = 'v_10.15JUNE2009_orca2' , 6 , 'V_10_MOD', .false. , .true. , 'yearly' , 'weights_bicub.nc' , '' , '' 206 sn_qsr = 'ncar_rad.15JUNE2009_orca2' , 24 , 'SWDN_MOD', .false. , .true. , 'yearly' , 'weights_bilin.nc' , '' , '' 207 sn_qlw = 'ncar_rad.15JUNE2009_orca2' , 24 , 'LWDN_MOD', .false. , .true. , 'yearly' , 'weights_bilin.nc' , '' , '' 208 sn_tair = 't_10.15JUNE2009_orca2' , 6 , 'T_10_MOD', .false. , .true. , 'yearly' , 'weights_bilin.nc' , '' , '' 209 sn_humi = 'q_10.15JUNE2009_orca2' , 6 , 'Q_10_MOD', .false. , .true. , 'yearly' , 'weights_bilin.nc' , '' , '' 210 sn_prec = 'ncar_precip.15JUNE2009_orca2', -1 , 'PRC_MOD1', .false. , .true. , 'yearly' , 'weights_bilin.nc' , '' , '' 211 sn_snow = 'ncar_precip.15JUNE2009_orca2', -1 , 'SNOW' , .false. , .true. , 'yearly' , 'weights_bilin.nc' , '' , '' 212 sn_tdif = 'taudif_core' , 24 , 'taudif' , .false. , .true. , 'yearly' , 'weights_bilin.nc' , '' , '' 210 213 211 214 cn_dir = './' ! root directory for the location of the bulk files … … 240 243 &namtra_qsr ! penetrative solar radiation 241 244 !----------------------------------------------------------------------- 242 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 243 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 244 sn_chl ='chlorophyll', -1 , 'CHLA' , .true. , .true. , 'yearly' , 'weights_bilin.nc' , '' 245 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 246 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 247 sn_chl ='chlorophyll', -1 , 'CHLA' , .true. , .true. , 'yearly' , 'weights_bilin.nc' , '' , '' 245 248 246 249 cn_dir = './' ! root directory for the location of the runoff files … … 257 260 &namsbc_rnf ! runoffs namelist surface boundary condition 258 261 !----------------------------------------------------------------------- 259 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 260 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 261 sn_rnf = 'runoff_core_monthly', -1 , 'sorunoff', .true. , .true. , 'yearly' , '' , '' 262 sn_cnf = 'runoff_core_monthly', 0 , 'socoefr0', .false. , .true. , 'yearly' , '' , '' 263 sn_s_rnf = 'runoffs' , 24 , 'rosaline', .true. , .true. , 'yearly' , '' , '' 264 sn_t_rnf = 'runoffs' , 24 , 'rotemper', .true. , .true. , 'yearly' , '' , '' 265 sn_dep_rnf = 'runoffs' , 0 , 'rodepth' , .false. , .true. , 'yearly' , '' , '' 262 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 263 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 264 sn_rnf = 'runoff_core_monthly', -1 , 'sorunoff', .true. , .true. , 'yearly' , '' , '' , '' 265 sn_cnf = 'runoff_core_monthly', 0 , 'socoefr0', .false. , .true. , 'yearly' , '' , '' , '' 266 sn_s_rnf = 'runoffs' , 24 , 'rosaline', .true. , .true. , 'yearly' , '' , '' , '' 267 sn_t_rnf = 'runoffs' , 24 , 'rotemper', .true. , .true. , 'yearly' , '' , '' , '' 268 sn_dep_rnf = 'runoffs' , 0 , 'rodepth' , .false. , .true. , 'yearly' , '' , '' , '' 266 269 267 270 cn_dir = './' ! root directory for the location of the runoff files … … 278 281 &namsbc_apr ! Atmospheric pressure used as ocean forcing or in bulk 279 282 !----------------------------------------------------------------------- 280 ! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! 281 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 282 sn_apr = 'patm' , -1 ,'somslpre', .true. , .true. , 'yearly' , '' , '' 283 ! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 284 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 285 sn_apr = 'patm' , -1 ,'somslpre', .true. , .true. , 'yearly' , '' , '' , '' 283 286 284 287 cn_dir = './' ! root directory for the location of the bulk files … … 290 293 &namsbc_ssr ! surface boundary condition : sea surface restoring 291 294 !----------------------------------------------------------------------- 292 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 293 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 294 sn_sst = 'sst_data' , 24 , 'sst' , .false. , .false., 'yearly' , '' , '' 295 sn_sss = 'sss_data' , -1 , 'sss' , .true. , .true. , 'yearly' , '' , '' 295 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 296 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 297 sn_sst = 'sst_data' , 24 , 'sst' , .false. , .false., 'yearly' , '' , '' , '' 298 sn_sss = 'sss_data' , -1 , 'sss' , .true. , .true. , 'yearly' , '' , '' , '' 296 299 297 300 cn_dir = './' ! root directory for the location of the runoff files … … 341 344 rn_speed_limit = 0. ! CFL speed limit for a berg 342 345 343 ! filename ! freq (hours) ! variable ! time interp. ! clim !'yearly' or ! weights ! rotation ! 344 ! ! (<0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 345 sn_icb = 'calving' , -1 , 'calvingmask', .true. , .true., 'yearly' , ' ' , ' ' 346 ! filename ! freq (hours) ! variable ! time interp. ! clim !'yearly' or ! weights ! rotation ! land/sea mask ! 347 ! ! (<0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 348 sn_icb = 'calving' , -1 , 'calvingmask', .true. , .true., 'yearly' , ' ' , ' ' , '' 346 349 347 350 cn_dir = './' … … 429 432 &nambdy_dta ! open boundaries - external data ("key_bdy") 430 433 !----------------------------------------------------------------------- 431 ! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! 432 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 433 bn_ssh = 'amm12_bdyT_u2d' , 24 , 'sossheig' , .true. , .false. , 'daily' , '' , '' 434 bn_u2d = 'amm12_bdyU_u2d' , 24 , 'vobtcrtx' , .true. , .false. , 'daily' , '' , '' 435 bn_v2d = 'amm12_bdyV_u2d' , 24 , 'vobtcrty' , .true. , .false. , 'daily' , '' , '' 436 bn_u3d = 'amm12_bdyU_u3d' , 24 , 'vozocrtx' , .true. , .false. , 'daily' , '' , '' 437 bn_v3d = 'amm12_bdyV_u3d' , 24 , 'vomecrty' , .true. , .false. , 'daily' , '' , '' 438 bn_tem = 'amm12_bdyT_tra' , 24 , 'votemper' , .true. , .false. , 'daily' , '' , '' 439 bn_sal = 'amm12_bdyT_tra' , 24 , 'vosaline' , .true. , .false. , 'daily' , '' , '' 434 ! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 435 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 436 bn_ssh = 'amm12_bdyT_u2d' , 24 , 'sossheig' , .true. , .false. , 'daily' , '' , '' , '' 437 bn_u2d = 'amm12_bdyU_u2d' , 24 , 'vobtcrtx' , .true. , .false. , 'daily' , '' , '' , '' 438 bn_v2d = 'amm12_bdyV_u2d' , 24 , 'vobtcrty' , .true. , .false. , 'daily' , '' , '' , '' 439 bn_u3d = 'amm12_bdyU_u3d' , 24 , 'vozocrtx' , .true. , .false. , 'daily' , '' , '' , '' 440 bn_v3d = 'amm12_bdyV_u3d' , 24 , 'vomecrty' , .true. , .false. , 'daily' , '' , '' , '' 441 bn_tem = 'amm12_bdyT_tra' , 24 , 'votemper' , .true. , .false. , 'daily' , '' , '' , '' 442 bn_sal = 'amm12_bdyT_tra' , 24 , 'vosaline' , .true. , .false. , 'daily' , '' , '' , '' 440 443 cn_dir = 'bdydta/' 441 444 ln_full_vel = .false. … … 951 954 &namsbc_wave ! External fields from wave model 952 955 !----------------------------------------------------------------------- 953 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 954 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 955 sn_cdg = 'cdg_wave' , 1 , 'drag_coeff' , .true. , .false. , 'daily' ,'' , '' 956 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 957 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 958 sn_cdg = 'cdg_wave' , 1 , 'drag_coeff' , .true. , .false. , 'daily' ,'' , '' , '' 956 959 ! 957 960 cn_dir_cdg = './' ! root directory for the location of drag coefficient files -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/CONFIG/ORCA2_LIM/EXP00/namelist
r3795 r4201 109 109 &namtsd ! data : Temperature & Salinity 110 110 !----------------------------------------------------------------------- 111 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim !'yearly' or ! weights ! rotation ! 112 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 113 sn_tem = 'data_1m_potential_temperature_nomask', -1,'votemper', .true. , .true., 'yearly' , ' ' , ' ' 114 sn_sal = 'data_1m_salinity_nomask' , -1,'vosaline', .true. , .true., 'yearly' , '' , ' ' 111 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim !'yearly' or ! weights ! rotation ! land/sea mask ! 112 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 113 sn_tem = 'data_1m_potential_temperature_nomask', -1,'votemper', .true. , .true., 'yearly' , ' ' , ' ' , '' 114 sn_sal = 'data_1m_salinity_nomask' , -1,'vosaline', .true. , .true., 'yearly' , '' , ' ' , '' 115 115 ! 116 116 cn_dir = './' ! root directory for the location of the runoff files … … 163 163 ln_cdgw = .false. ! Neutral drag coefficient read from wave model (T => fill namsbc_wave) 164 164 ln_sdw = .false. ! Computation of 3D stokes drift (T => fill namsbc_wave) 165 nn_lsm = 0 ! =0 land/sea mask for input fields is not applied (the field land/sea mask filename 166 ! is left empty in namsbc namelists) , 167 ! =1:n number of iterations of land/sea mask application for input fields 165 168 / 166 169 !----------------------------------------------------------------------- … … 177 180 &namsbc_flx ! surface boundary condition : flux formulation 178 181 !----------------------------------------------------------------------- 179 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 180 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 181 sn_utau = 'utau' , 24 , 'utau' , .false. , .false., 'yearly' , '' , '' 182 sn_vtau = 'vtau' , 24 , 'vtau' , .false. , .false., 'yearly' , '' , '' 183 sn_qtot = 'qtot' , 24 , 'qtot' , .false. , .false., 'yearly' , '' , '' 184 sn_qsr = 'qsr' , 24 , 'qsr' , .false. , .false., 'yearly' , '' , '' 185 sn_emp = 'emp' , 24 , 'emp' , .false. , .false., 'yearly' , '' , '' 182 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 183 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 184 sn_utau = 'utau' , 24 , 'utau' , .false. , .false., 'yearly' , '' , '' , '' 185 sn_vtau = 'vtau' , 24 , 'vtau' , .false. , .false., 'yearly' , '' , '' , '' 186 sn_qtot = 'qtot' , 24 , 'qtot' , .false. , .false., 'yearly' , '' , '' , '' 187 sn_qsr = 'qsr' , 24 , 'qsr' , .false. , .false., 'yearly' , '' , '' , '' 188 sn_emp = 'emp' , 24 , 'emp' , .false. , .false., 'yearly' , '' , '' , '' 186 189 187 190 cn_dir = './' ! root directory for the location of the flux files … … 190 193 &namsbc_clio ! namsbc_clio CLIO bulk formulae 191 194 !----------------------------------------------------------------------- 192 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 193 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 194 sn_utau = 'taux_1m' , -1 , 'sozotaux', .true. , .true. , 'yearly' , '' , '' 195 sn_vtau = 'tauy_1m' , -1 , 'sometauy', .true. , .true. , 'yearly' , '' , '' 196 sn_wndm = 'flx' , -1 , 'socliowi', .true. , .true. , 'yearly' , '' , '' 197 sn_tair = 'flx' , -1 , 'socliot2', .true. , .true. , 'yearly' , '' , '' 198 sn_humi = 'flx' , -1 , 'socliohu', .true. , .true. , 'yearly' , '' , '' 199 sn_ccov = 'flx' , -1 , 'socliocl', .false. , .true. , 'yearly' , '' , '' 200 sn_prec = 'flx' , -1 , 'socliopl', .false. , .true. , 'yearly' , '' , '' 195 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 196 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 197 sn_utau = 'taux_1m' , -1 , 'sozotaux', .true. , .true. , 'yearly' , '' , '' , '' 198 sn_vtau = 'tauy_1m' , -1 , 'sometauy', .true. , .true. , 'yearly' , '' , '' , '' 199 sn_wndm = 'flx' , -1 , 'socliowi', .true. , .true. , 'yearly' , '' , '' , '' 200 sn_tair = 'flx' , -1 , 'socliot2', .true. , .true. , 'yearly' , '' , '' , '' 201 sn_humi = 'flx' , -1 , 'socliohu', .true. , .true. , 'yearly' , '' , '' , '' 202 sn_ccov = 'flx' , -1 , 'socliocl', .false. , .true. , 'yearly' , '' , '' , '' 203 sn_prec = 'flx' , -1 , 'socliopl', .false. , .true. , 'yearly' , '' , '' , '' 201 204 202 205 cn_dir = './' ! root directory for the location of the bulk files are … … 205 208 &namsbc_core ! namsbc_core CORE bulk formulae 206 209 !----------------------------------------------------------------------- 207 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 208 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 209 sn_wndi = 'u_10.15JUNE2009_orca2' , 6 , 'U_10_MOD', .false. , .true. , 'yearly' , '' , 'Uwnd' 210 sn_wndj = 'v_10.15JUNE2009_orca2' , 6 , 'V_10_MOD', .false. , .true. , 'yearly' , '' , 'Vwnd' 211 sn_qsr = 'ncar_rad.15JUNE2009_orca2' , 24 , 'SWDN_MOD', .false. , .true. , 'yearly' , '' , '' 212 sn_qlw = 'ncar_rad.15JUNE2009_orca2' , 24 , 'LWDN_MOD', .false. , .true. , 'yearly' , '' , '' 213 sn_tair = 't_10.15JUNE2009_orca2' , 6 , 'T_10_MOD', .false. , .true. , 'yearly' , '' , '' 214 sn_humi = 'q_10.15JUNE2009_orca2' , 6 , 'Q_10_MOD', .false. , .true. , 'yearly' , '' , '' 215 sn_prec = 'ncar_precip.15JUNE2009_orca2', -1 , 'PRC_MOD1', .false. , .true. , 'yearly' , '' , '' 216 sn_snow = 'ncar_precip.15JUNE2009_orca2', -1 , 'SNOW' , .false. , .true. , 'yearly' , '' , '' 217 sn_tdif = 'taudif_core' , 24 , 'taudif' , .false. , .true. , 'yearly' , '' , '' 210 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 211 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 212 sn_wndi = 'u_10.15JUNE2009_orca2' , 6 , 'U_10_MOD', .false. , .true. , 'yearly' , '' , 'Uwnd' , '' 213 sn_wndj = 'v_10.15JUNE2009_orca2' , 6 , 'V_10_MOD', .false. , .true. , 'yearly' , '' , 'Vwnd' , '' 214 sn_qsr = 'ncar_rad.15JUNE2009_orca2' , 24 , 'SWDN_MOD', .false. , .true. , 'yearly' , '' , '' , '' 215 sn_qlw = 'ncar_rad.15JUNE2009_orca2' , 24 , 'LWDN_MOD', .false. , .true. , 'yearly' , '' , '' , '' 216 sn_tair = 't_10.15JUNE2009_orca2' , 6 , 'T_10_MOD', .false. , .true. , 'yearly' , '' , '' , '' 217 sn_humi = 'q_10.15JUNE2009_orca2' , 6 , 'Q_10_MOD', .false. , .true. , 'yearly' , '' , '' , '' 218 sn_prec = 'ncar_precip.15JUNE2009_orca2', -1 , 'PRC_MOD1', .false. , .true. , 'yearly' , '' , '' , '' 219 sn_snow = 'ncar_precip.15JUNE2009_orca2', -1 , 'SNOW' , .false. , .true. , 'yearly' , '' , '' , '' 220 sn_tdif = 'taudif_core' , 24 , 'taudif' , .false. , .true. , 'yearly' , '' , '' , '' 218 221 219 222 cn_dir = './' ! root directory for the location of the bulk files … … 225 228 &namsbc_mfs ! namsbc_mfs MFS bulk formulae 226 229 !----------------------------------------------------------------------- 227 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 228 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 229 sn_wndi = 'ecmwf' , 6 , 'u10' , .true. , .false. , 'daily' ,'bicubic.nc' , '' 230 sn_wndj = 'ecmwf' , 6 , 'v10' , .true. , .false. , 'daily' ,'bicubic.nc' , '' 231 sn_clc = 'ecmwf' , 6 , 'clc' , .true. , .false. , 'daily' ,'bilinear.nc', '' 232 sn_msl = 'ecmwf' , 6 , 'msl' , .true. , .false. , 'daily' ,'bicubic.nc' , '' 233 sn_tair = 'ecmwf' , 6 , 't2' , .true. , .false. , 'daily' ,'bicubic.nc' , '' 234 sn_rhm = 'ecmwf' , 6 , 'rh' , .true. , .false. , 'daily' ,'bilinear.nc', '' 235 sn_prec = 'ecmwf' , 6 , 'precip' , .true. , .true. , 'daily' ,'bicubic.nc' , '' 230 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 231 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 232 sn_wndi = 'ecmwf' , 6 , 'u10' , .true. , .false. , 'daily' ,'bicubic.nc' , '' , '' 233 sn_wndj = 'ecmwf' , 6 , 'v10' , .true. , .false. , 'daily' ,'bicubic.nc' , '' , '' 234 sn_clc = 'ecmwf' , 6 , 'clc' , .true. , .false. , 'daily' ,'bilinear.nc', '' , '' 235 sn_msl = 'ecmwf' , 6 , 'msl' , .true. , .false. , 'daily' ,'bicubic.nc' , '' , '' 236 sn_tair = 'ecmwf' , 6 , 't2' , .true. , .false. , 'daily' ,'bicubic.nc' , '' , '' 237 sn_rhm = 'ecmwf' , 6 , 'rh' , .true. , .false. , 'daily' ,'bilinear.nc', '' , '' 238 sn_prec = 'ecmwf' , 6 , 'precip' , .true. , .true. , 'daily' ,'bicubic.nc' , '' , '' 236 239 237 240 cn_dir = './ECMWF/' ! root directory for the location of the bulk files … … 263 266 &namtra_qsr ! penetrative solar radiation 264 267 !----------------------------------------------------------------------- 265 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 266 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 267 sn_chl ='chlorophyll', -1 , 'CHLA' , .true. , .true. , 'yearly' , '' , '' 268 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 269 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 270 sn_chl ='chlorophyll', -1 , 'CHLA' , .true. , .true. , 'yearly' , '' , '' , '' 268 271 269 272 cn_dir = './' ! root directory for the location of the runoff files … … 280 283 &namsbc_rnf ! runoffs namelist surface boundary condition 281 284 !----------------------------------------------------------------------- 282 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 283 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 284 sn_rnf = 'runoff_core_monthly', -1 , 'sorunoff', .true. , .true. , 'yearly' , '' , '' 285 sn_cnf = 'runoff_core_monthly', 0 , 'socoefr0', .false. , .true. , 'yearly' , '' , '' 286 sn_s_rnf = 'runoffs' , 24 , 'rosaline', .true. , .true. , 'yearly' , '' , '' 287 sn_t_rnf = 'runoffs' , 24 , 'rotemper', .true. , .true. , 'yearly' , '' , '' 288 sn_dep_rnf = 'runoffs' , 0 , 'rodepth' , .false. , .true. , 'yearly' , '' , '' 285 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 286 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 287 sn_rnf = 'runoff_core_monthly', -1 , 'sorunoff', .true. , .true. , 'yearly' , '' , '' , '' 288 sn_cnf = 'runoff_core_monthly', 0 , 'socoefr0', .false. , .true. , 'yearly' , '' , '' , '' 289 sn_s_rnf = 'runoffs' , 24 , 'rosaline', .true. , .true. , 'yearly' , '' , '' , '' 290 sn_t_rnf = 'runoffs' , 24 , 'rotemper', .true. , .true. , 'yearly' , '' , '' , '' 291 sn_dep_rnf = 'runoffs' , 0 , 'rodepth' , .false. , .true. , 'yearly' , '' , '' , '' 289 292 290 293 cn_dir = './' ! root directory for the location of the runoff files … … 301 304 &namsbc_apr ! Atmospheric pressure used as ocean forcing or in bulk 302 305 !----------------------------------------------------------------------- 303 ! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! 304 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 305 sn_apr = 'patm' , -1 ,'somslpre', .true. , .true. , 'yearly' , '' , '' 306 ! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 307 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 308 sn_apr = 'patm' , -1 ,'somslpre', .true. , .true. , 'yearly' , '' , '' , '' 306 309 307 310 cn_dir = './' ! root directory for the location of the bulk files … … 313 316 &namsbc_ssr ! surface boundary condition : sea surface restoring 314 317 !----------------------------------------------------------------------- 315 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 316 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 317 sn_sst = 'sst_data' , 24 , 'sst' , .false. , .false., 'yearly' , '' , '' 318 sn_sss = 'sss_data' , -1 , 'sss' , .true. , .true. , 'yearly' , '' , '' 318 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 319 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 320 sn_sst = 'sst_data' , 24 , 'sst' , .false. , .false., 'yearly' , '' , '' , '' 321 sn_sss = 'sss_data' , -1 , 'sss' , .true. , .true. , 'yearly' , '' , '' , '' 319 322 320 323 cn_dir = './' ! root directory for the location of the runoff files … … 364 367 rn_speed_limit = 0. ! CFL speed limit for a berg 365 368 366 ! filename ! freq (hours) ! variable ! time interp. ! clim !'yearly' or ! weights ! rotation ! 367 ! ! (<0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 368 sn_icb = 'calving' , -1 , 'calvingmask', .true. , .true., 'yearly' , ' ' , ' ' 369 ! filename ! freq (hours) ! variable ! time interp. ! clim !'yearly' or ! weights ! rotation ! land/sea mask ! 370 ! ! (<0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 371 sn_icb = 'calving' , -1 , 'calvingmask', .true. , .true., 'yearly' , ' ' , ' ' , '' 369 372 370 373 cn_dir = './' … … 466 469 &nambdy_dta ! open boundaries - external data ("key_bdy") 467 470 !----------------------------------------------------------------------- 468 ! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! 469 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 470 bn_ssh = 'amm12_bdyT_u2d' , 24 , 'sossheig' , .true. , .false. , 'daily' , '' , '' 471 bn_u2d = 'amm12_bdyU_u2d' , 24 , 'vobtcrtx' , .true. , .false. , 'daily' , '' , '' 472 bn_v2d = 'amm12_bdyV_u2d' , 24 , 'vobtcrty' , .true. , .false. , 'daily' , '' , '' 473 bn_u3d = 'amm12_bdyU_u3d' , 24 , 'vozocrtx' , .true. , .false. , 'daily' , '' , '' 474 bn_v3d = 'amm12_bdyV_u3d' , 24 , 'vomecrty' , .true. , .false. , 'daily' , '' , '' 475 bn_tem = 'amm12_bdyT_tra' , 24 , 'votemper' , .true. , .false. , 'daily' , '' , '' 476 bn_sal = 'amm12_bdyT_tra' , 24 , 'vosaline' , .true. , .false. , 'daily' , '' , '' 471 ! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 472 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 473 bn_ssh = 'amm12_bdyT_u2d' , 24 , 'sossheig' , .true. , .false. , 'daily' , '' , '' , '' 474 bn_u2d = 'amm12_bdyU_u2d' , 24 , 'vobtcrtx' , .true. , .false. , 'daily' , '' , '' , '' 475 bn_v2d = 'amm12_bdyV_u2d' , 24 , 'vobtcrty' , .true. , .false. , 'daily' , '' , '' , '' 476 bn_u3d = 'amm12_bdyU_u3d' , 24 , 'vozocrtx' , .true. , .false. , 'daily' , '' , '' , '' 477 bn_v3d = 'amm12_bdyV_u3d' , 24 , 'vomecrty' , .true. , .false. , 'daily' , '' , '' , '' 478 bn_tem = 'amm12_bdyT_tra' , 24 , 'votemper' , .true. , .false. , 'daily' , '' , '' , '' 479 bn_sal = 'amm12_bdyT_tra' , 24 , 'vosaline' , .true. , .false. , 'daily' , '' , '' , '' 477 480 cn_dir = 'bdydta/' 478 481 ln_full_vel = .false. … … 1017 1020 &namsbc_wave ! External fields from wave model 1018 1021 !----------------------------------------------------------------------- 1019 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 1020 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 1021 sn_cdg = 'cdg_wave' , 1 , 'drag_coeff' , .true. , .false. , 'daily' ,'' , '' 1022 sn_usd = 'sdw_wave' , 1 , 'u_sd2d' , .true. , .false. , 'daily' ,'' , '' 1023 sn_vsd = 'sdw_wave' , 1 , 'v_sd2d' , .true. , .false. , 'daily' ,'' , '' 1024 sn_wn = 'sdw_wave' , 1 , 'wave_num' , .true. , .false. , 'daily' ,'' , '' 1022 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 1023 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 1024 sn_cdg = 'cdg_wave' , 1 , 'drag_coeff' , .true. , .false. , 'daily' ,'' , '' , '' 1025 sn_usd = 'sdw_wave' , 1 , 'u_sd2d' , .true. , .false. , 'daily' ,'' , '' , '' 1026 sn_vsd = 'sdw_wave' , 1 , 'v_sd2d' , .true. , .false. , 'daily' ,'' , '' , '' 1027 sn_wn = 'sdw_wave' , 1 , 'wave_num' , .true. , .false. , 'daily' ,'' , '' , '' 1025 1028 ! 1026 1029 cn_dir_cdg = './' ! root directory for the location of drag coefficient files -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/CONFIG/ORCA2_LIM/EXP00/namelist_ice_lim2
r3910 r4201 86 86 ! ! (hard coded damping area: check if it fit your config) 87 87 !----------------------------------------------------------------------- 88 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 89 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 90 sn_hicif = 'ice_damping', -1. , 'hicif' , .true. , .true. , 'yearly' , '' , '' 91 sn_frld = 'ice_damping', -1. , 'frld' , .true. , .true. , 'yearly' , '' , '' 88 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 89 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 90 sn_hicif = 'ice_damping', -1. , 'hicif' , .true. , .true. , 'yearly' , '' , '' , '' 91 sn_frld = 'ice_damping', -1. , 'frld' , .true. , .true. , 'yearly' , '' , '' , '' 92 92 ! 93 93 cn_dir = './' ! root directory for the location of the runoff files -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/CONFIG/ORCA2_LIM_CFC_C14b/EXP00/1_namelist
r3795 r4201 97 97 &namtsd ! data : Temperature & Salinity 98 98 !----------------------------------------------------------------------- 99 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim !'yearly' or ! weights ! rotation ! 100 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 101 sn_tem = 'data_1m_potential_temperature_nomask', -1,'votemper', .true. , .true., 'yearly' , ' ' , ' ' 102 sn_sal = 'data_1m_salinity_nomask' , -1,'vosaline', .true. , .true., 'yearly' , '' , ' ' 99 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim !'yearly' or ! weights ! rotation ! land/sea mask ! 100 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 101 sn_tem = 'data_1m_potential_temperature_nomask', -1,'votemper', .true. , .true., 'yearly' , ' ' , ' ' , '' 102 sn_sal = 'data_1m_salinity_nomask' , -1,'vosaline', .true. , .true., 'yearly' , '' , ' ' , '' 103 103 / 104 104 !!====================================================================== … … 139 139 ! =2 annual global mean of e-p-r set to zero 140 140 ! =3 global emp set to zero and spread out over erp area 141 nn_lsm = 0 ! =0 land/sea mask for input fields is not applied (the field land/sea mask filename 142 ! is left empty in namsbc namelists) , 143 ! =1:n number of iterations of land/sea mask application for input fields 144 141 145 / 142 146 !----------------------------------------------------------------------- … … 153 157 &namsbc_flx ! surface boundary condition : flux formulation 154 158 !----------------------------------------------------------------------- 155 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 156 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 157 sn_utau = 'utau' , 24 , 'utau' , .false. , .false., 'yearly' , '' , '' 158 sn_vtau = 'vtau' , 24 , 'vtau' , .false. , .false., 'yearly' , '' , '' 159 sn_qtot = 'qtot' , 24 , 'qtot' , .false. , .false., 'yearly' , '' , '' 160 sn_qsr = 'qsr' , 24 , 'qsr' , .false. , .false., 'yearly' , '' , '' 161 sn_emp = 'emp' , 24 , 'emp' , .false. , .false., 'yearly' , '' , '' 159 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 160 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 161 sn_utau = 'utau' , 24 , 'utau' , .false. , .false., 'yearly' , '' , '' , '' 162 sn_vtau = 'vtau' , 24 , 'vtau' , .false. , .false., 'yearly' , '' , '' , '' 163 sn_qtot = 'qtot' , 24 , 'qtot' , .false. , .false., 'yearly' , '' , '' , '' 164 sn_qsr = 'qsr' , 24 , 'qsr' , .false. , .false., 'yearly' , '' , '' , '' 165 sn_emp = 'emp' , 24 , 'emp' , .false. , .false., 'yearly' , '' , '' , '' 162 166 163 167 cn_dir = './' ! root directory for the location of the flux files … … 166 170 &namsbc_clio ! namsbc_clio CLIO bulk formulea 167 171 !----------------------------------------------------------------------- 168 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 169 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 170 sn_utau = 'taux_1m' , -1 , 'sozotaux', .true. , .true. , 'yearly' , '' , '' 171 sn_vtau = 'tauy_1m' , -1 , 'sometauy', .true. , .true. , 'yearly' , '' , '' 172 sn_wndm = 'flx' , -1 , 'socliowi', .true. , .true. , 'yearly' , '' , '' 173 sn_tair = 'flx' , -1 , 'socliot2', .true. , .true. , 'yearly' , '' , '' 174 sn_humi = 'flx' , -1 , 'socliohu', .true. , .true. , 'yearly' , '' , '' 175 sn_ccov = 'flx' , -1 , 'socliocl', .false. , .true. , 'yearly' , '' , '' 176 sn_prec = 'flx' , -1 , 'socliopl', .false. , .true. , 'yearly' , '' , '' 172 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 173 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 174 sn_utau = 'taux_1m' , -1 , 'sozotaux', .true. , .true. , 'yearly' , '' , '' , '' 175 sn_vtau = 'tauy_1m' , -1 , 'sometauy', .true. , .true. , 'yearly' , '' , '' , '' 176 sn_wndm = 'flx' , -1 , 'socliowi', .true. , .true. , 'yearly' , '' , '' , '' 177 sn_tair = 'flx' , -1 , 'socliot2', .true. , .true. , 'yearly' , '' , '' , '' 178 sn_humi = 'flx' , -1 , 'socliohu', .true. , .true. , 'yearly' , '' , '' , '' 179 sn_ccov = 'flx' , -1 , 'socliocl', .false. , .true. , 'yearly' , '' , '' , '' 180 sn_prec = 'flx' , -1 , 'socliopl', .false. , .true. , 'yearly' , '' , '' , '' 177 181 178 182 cn_dir = './' ! root directory for the location of the bulk files are … … 181 185 &namsbc_core ! namsbc_core CORE bulk formulea 182 186 !----------------------------------------------------------------------- 183 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 184 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 185 sn_wndi = 'u_10.15JUNE2009_orca2' , 6 , 'U_10_MOD', .false. , .true. , 'yearly' , 'weights_bicub.nc' , '' 186 sn_wndj = 'v_10.15JUNE2009_orca2' , 6 , 'V_10_MOD', .false. , .true. , 'yearly' , 'weights_bicub.nc' , '' 187 sn_qsr = 'ncar_rad.15JUNE2009_orca2' , 24 , 'SWDN_MOD', .false. , .true. , 'yearly' , 'weights_bilin.nc' , '' 188 sn_qlw = 'ncar_rad.15JUNE2009_orca2' , 24 , 'LWDN_MOD', .false. , .true. , 'yearly' , 'weights_bilin.nc' , '' 189 sn_tair = 't_10.15JUNE2009_orca2' , 6 , 'T_10_MOD', .false. , .true. , 'yearly' , 'weights_bilin.nc' , '' 190 sn_humi = 'q_10.15JUNE2009_orca2' , 6 , 'Q_10_MOD', .false. , .true. , 'yearly' , 'weights_bilin.nc' , '' 191 sn_prec = 'ncar_precip.15JUNE2009_orca2', -1 , 'PRC_MOD1', .false. , .true. , 'yearly' , 'weights_bilin.nc' , '' 192 sn_snow = 'ncar_precip.15JUNE2009_orca2', -1 , 'SNOW' , .false. , .true. , 'yearly' , 'weights_bilin.nc' , '' 193 sn_tdif = 'taudif_core' , 24 , 'taudif' , .false. , .true. , 'yearly' , 'weights_bilin.nc' , '' 187 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 188 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 189 sn_wndi = 'u_10.15JUNE2009_orca2' , 6 , 'U_10_MOD', .false. , .true. , 'yearly' , 'weights_bicub.nc' , '' , '' 190 sn_wndj = 'v_10.15JUNE2009_orca2' , 6 , 'V_10_MOD', .false. , .true. , 'yearly' , 'weights_bicub.nc' , '' , '' 191 sn_qsr = 'ncar_rad.15JUNE2009_orca2' , 24 , 'SWDN_MOD', .false. , .true. , 'yearly' , 'weights_bilin.nc' , '' , '' 192 sn_qlw = 'ncar_rad.15JUNE2009_orca2' , 24 , 'LWDN_MOD', .false. , .true. , 'yearly' , 'weights_bilin.nc' , '' , '' 193 sn_tair = 't_10.15JUNE2009_orca2' , 6 , 'T_10_MOD', .false. , .true. , 'yearly' , 'weights_bilin.nc' , '' , '' 194 sn_humi = 'q_10.15JUNE2009_orca2' , 6 , 'Q_10_MOD', .false. , .true. , 'yearly' , 'weights_bilin.nc' , '' , '' 195 sn_prec = 'ncar_precip.15JUNE2009_orca2', -1 , 'PRC_MOD1', .false. , .true. , 'yearly' , 'weights_bilin.nc' , '' , '' 196 sn_snow = 'ncar_precip.15JUNE2009_orca2', -1 , 'SNOW' , .false. , .true. , 'yearly' , 'weights_bilin.nc' , '' , '' 197 sn_tdif = 'taudif_core' , 24 , 'taudif' , .false. , .true. , 'yearly' , 'weights_bilin.nc' , '' , '' 194 198 195 199 cn_dir = './' ! root directory for the location of the bulk files … … 224 228 &namtra_qsr ! penetrative solar radiation 225 229 !----------------------------------------------------------------------- 226 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 227 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 228 sn_chl ='chlorophyll', -1 , 'CHLA' , .true. , .true. , 'yearly' , 'weights_bilin.nc' , '' 230 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 231 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 232 sn_chl ='chlorophyll', -1 , 'CHLA' , .true. , .true. , 'yearly' , 'weights_bilin.nc' , '' , '' 229 233 230 234 cn_dir = './' ! root directory for the location of the runoff files … … 241 245 &namsbc_rnf ! runoffs namelist surface boundary condition 242 246 !----------------------------------------------------------------------- 243 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 244 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 245 sn_rnf = 'runoff_core_monthly', -1 , 'sorunoff', .true. , .true. , 'yearly' , '' , '' 246 sn_cnf = 'runoff_core_monthly', 0 , 'socoefr0', .false. , .true. , 'yearly' , '' , '' 247 sn_s_rnf = 'runoffs' , 24 , 'rosaline', .true. , .true. , 'yearly' , '' , '' 248 sn_t_rnf = 'runoffs' , 24 , 'rotemper', .true. , .true. , 'yearly' , '' , '' 249 sn_dep_rnf = 'runoffs' , 0 , 'rodepth' , .false. , .true. , 'yearly' , '' , '' 250 247 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 248 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 249 sn_rnf = 'runoff_core_monthly', -1 , 'sorunoff', .true. , .true. , 'yearly' , '' , '' , '' 250 sn_cnf = 'runoff_core_monthly', 0 , 'socoefr0', .false. , .true. , 'yearly' , '' , '' , '' 251 sn_s_rnf = 'runoffs' , 24 , 'rosaline', .true. , .true. , 'yearly' , '' , '' , '' 252 sn_t_rnf = 'runoffs' , 24 , 'rotemper', .true. , .true. , 'yearly' , '' , '' , '' 253 sn_dep_rnf = 'runoffs' , 0 , 'rodepth' , .false. , .true. , 'yearly' , '' , '' , '' 254 251 255 cn_dir = './' ! root directory for the location of the runoff files 252 256 ln_rnf_emp = .false. ! runoffs included into precipitation field (T) or into a file (F) … … 262 266 &namsbc_apr ! Atmospheric pressure used as ocean forcing or in bulk 263 267 !----------------------------------------------------------------------- 264 ! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! 265 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 266 sn_apr = 'patm' , -1 ,'somslpre', .true. , .true. , 'yearly' , '' , '' 268 ! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 269 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 270 sn_apr = 'patm' , -1 ,'somslpre', .true. , .true. , 'yearly' , '' , '' , '' 267 271 268 272 cn_dir = './' ! root directory for the location of the bulk files … … 274 278 &namsbc_ssr ! surface boundary condition : sea surface restoring 275 279 !----------------------------------------------------------------------- 276 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 277 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 278 sn_sst = 'sst_data' , 24 , 'sst' , .false. , .false., 'yearly' , '' , '' 279 sn_sss = 'sss_data' , -1 , 'sss' , .true. , .true. , 'yearly' , '' , '' 280 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 281 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 282 sn_sst = 'sst_data' , 24 , 'sst' , .false. , .false., 'yearly' , '' , '' , '' 283 sn_sss = 'sss_data' , -1 , 'sss' , .true. , .true. , 'yearly' , '' , '' , '' 280 284 281 285 cn_dir = './' ! root directory for the location of the runoff files … … 379 383 &nambdy_dta ! open boundaries - external data ("key_bdy") 380 384 !----------------------------------------------------------------------- 381 ! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! 382 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 383 bn_ssh = 'amm12_bdyT_u2d' , 24 , 'sossheig' , .true. , .false. , 'daily' , '' , '' 384 bn_u2d = 'amm12_bdyU_u2d' , 24 , 'vobtcrtx' , .true. , .false. , 'daily' , '' , '' 385 bn_v2d = 'amm12_bdyV_u2d' , 24 , 'vobtcrty' , .true. , .false. , 'daily' , '' , '' 386 bn_u3d = 'amm12_bdyU_u3d' , 24 , 'vozocrtx' , .true. , .false. , 'daily' , '' , '' 387 bn_v3d = 'amm12_bdyV_u3d' , 24 , 'vomecrty' , .true. , .false. , 'daily' , '' , '' 388 bn_tem = 'amm12_bdyT_tra' , 24 , 'votemper' , .true. , .false. , 'daily' , '' , '' 389 bn_sal = 'amm12_bdyT_tra' , 24 , 'vosaline' , .true. , .false. , 'daily' , '' , '' 385 ! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 386 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 387 bn_ssh = 'amm12_bdyT_u2d' , 24 , 'sossheig' , .true. , .false. , 'daily' , '' , '' , '' 388 bn_u2d = 'amm12_bdyU_u2d' , 24 , 'vobtcrtx' , .true. , .false. , 'daily' , '' , '' , '' 389 bn_v2d = 'amm12_bdyV_u2d' , 24 , 'vobtcrty' , .true. , .false. , 'daily' , '' , '' , '' 390 bn_u3d = 'amm12_bdyU_u3d' , 24 , 'vozocrtx' , .true. , .false. , 'daily' , '' , '' , '' 391 bn_v3d = 'amm12_bdyV_u3d' , 24 , 'vomecrty' , .true. , .false. , 'daily' , '' , '' , '' 392 bn_tem = 'amm12_bdyT_tra' , 24 , 'votemper' , .true. , .false. , 'daily' , '' , '' , '' 393 bn_sal = 'amm12_bdyT_tra' , 24 , 'vosaline' , .true. , .false. , 'daily' , '' , '' , '' 390 394 cn_dir = 'bdydta/' 391 395 ln_full_vel = .false. … … 900 904 &namsbc_wave ! External fields from wave model 901 905 !----------------------------------------------------------------------- 902 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 903 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 904 sn_cdg = 'cdg_wave' , 1 , 'drag_coeff' , .true. , .false. , 'daily' ,'' , '' 906 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 907 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 908 sn_cdg = 'cdg_wave' , 1 , 'drag_coeff' , .true. , .false. , 'daily' ,'' , '' , '' 905 909 ! 906 910 cn_dir_cdg = './' ! root directory for the location of drag coefficient files -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/CONFIG/ORCA2_LIM_CFC_C14b/EXP00/1_namelist_top
r3567 r4201 33 33 !----------------------------------------------------------------------- 34 34 ! 35 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 36 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 35 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 36 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 37 37 / 38 38 !----------------------------------------------------------------------- -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/CONFIG/ORCA2_LIM_CFC_C14b/EXP00/namelist
r3877 r4201 96 96 &namtsd ! data : Temperature & Salinity 97 97 !----------------------------------------------------------------------- 98 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim !'yearly' or ! weights ! rotation ! 99 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 100 sn_tem = 'data_1m_potential_temperature_nomask', -1,'votemper', .true. , .true., 'yearly' , ' ' , ' ' 101 sn_sal = 'data_1m_salinity_nomask' , -1,'vosaline', .true. , .true., 'yearly' , '' , ' ' 98 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim !'yearly' or ! weights ! rotation ! land/sea mask ! 99 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 100 sn_tem = 'data_1m_potential_temperature_nomask', -1,'votemper', .true. , .true., 'yearly' , ' ' , ' ' , '' 101 sn_sal = 'data_1m_salinity_nomask' , -1,'vosaline', .true. , .true., 'yearly' , '' , ' ' , '' 102 102 ! 103 103 cn_dir = './' ! root directory for the location of the runoff files … … 145 145 ! =3 global emp set to zero and spread out over erp area 146 146 ln_cdgw = .false. ! Neutral drag coefficient read from wave model (T => fill namsbc_wave) 147 nn_lsm = 0 ! =0 land/sea mask for input fields is not applied (the field land/sea mask filename 148 ! is left empty in namsbc namelists) , 149 ! =1:n number of iterations of land/sea mask application for input fields 147 150 / 148 151 !----------------------------------------------------------------------- … … 159 162 &namsbc_flx ! surface boundary condition : flux formulation 160 163 !----------------------------------------------------------------------- 161 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 162 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 163 sn_utau = 'utau' , 24 , 'utau' , .false. , .false., 'yearly' , '' , '' 164 sn_vtau = 'vtau' , 24 , 'vtau' , .false. , .false., 'yearly' , '' , '' 165 sn_qtot = 'qtot' , 24 , 'qtot' , .false. , .false., 'yearly' , '' , '' 166 sn_qsr = 'qsr' , 24 , 'qsr' , .false. , .false., 'yearly' , '' , '' 167 sn_emp = 'emp' , 24 , 'emp' , .false. , .false., 'yearly' , '' , '' 164 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 165 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 166 sn_utau = 'utau' , 24 , 'utau' , .false. , .false., 'yearly' , '' , '' , '' 167 sn_vtau = 'vtau' , 24 , 'vtau' , .false. , .false., 'yearly' , '' , '' , '' 168 sn_qtot = 'qtot' , 24 , 'qtot' , .false. , .false., 'yearly' , '' , '' , '' 169 sn_qsr = 'qsr' , 24 , 'qsr' , .false. , .false., 'yearly' , '' , '' , '' 170 sn_emp = 'emp' , 24 , 'emp' , .false. , .false., 'yearly' , '' , '' , '' 168 171 169 172 cn_dir = './' ! root directory for the location of the flux files … … 172 175 &namsbc_clio ! namsbc_clio CLIO bulk formulae 173 176 !----------------------------------------------------------------------- 174 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 175 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 176 sn_utau = 'taux_1m' , -1 , 'sozotaux', .true. , .true. , 'yearly' , '' , '' 177 sn_vtau = 'tauy_1m' , -1 , 'sometauy', .true. , .true. , 'yearly' , '' , '' 178 sn_wndm = 'flx' , -1 , 'socliowi', .true. , .true. , 'yearly' , '' , '' 179 sn_tair = 'flx' , -1 , 'socliot2', .true. , .true. , 'yearly' , '' , '' 180 sn_humi = 'flx' , -1 , 'socliohu', .true. , .true. , 'yearly' , '' , '' 181 sn_ccov = 'flx' , -1 , 'socliocl', .false. , .true. , 'yearly' , '' , '' 182 sn_prec = 'flx' , -1 , 'socliopl', .false. , .true. , 'yearly' , '' , '' 177 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 178 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 179 sn_utau = 'taux_1m' , -1 , 'sozotaux', .true. , .true. , 'yearly' , '' , '' , '' 180 sn_vtau = 'tauy_1m' , -1 , 'sometauy', .true. , .true. , 'yearly' , '' , '' , '' 181 sn_wndm = 'flx' , -1 , 'socliowi', .true. , .true. , 'yearly' , '' , '' , '' 182 sn_tair = 'flx' , -1 , 'socliot2', .true. , .true. , 'yearly' , '' , '' , '' 183 sn_humi = 'flx' , -1 , 'socliohu', .true. , .true. , 'yearly' , '' , '' , '' 184 sn_ccov = 'flx' , -1 , 'socliocl', .false. , .true. , 'yearly' , '' , '' , '' 185 sn_prec = 'flx' , -1 , 'socliopl', .false. , .true. , 'yearly' , '' , '' , '' 183 186 184 187 cn_dir = './' ! root directory for the location of the bulk files are … … 187 190 &namsbc_core ! namsbc_core CORE bulk formulae 188 191 !----------------------------------------------------------------------- 189 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 190 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 191 sn_wndi = 'u_10.15JUNE2009_orca2' , 6 , 'U_10_MOD', .false. , .true. , 'yearly' , '' , 'Uwnd' 192 sn_wndj = 'v_10.15JUNE2009_orca2' , 6 , 'V_10_MOD', .false. , .true. , 'yearly' , '' , 'Vwnd' 193 sn_qsr = 'ncar_rad.15JUNE2009_orca2' , 24 , 'SWDN_MOD', .false. , .true. , 'yearly' , '' , '' 194 sn_qlw = 'ncar_rad.15JUNE2009_orca2' , 24 , 'LWDN_MOD', .false. , .true. , 'yearly' , '' , '' 195 sn_tair = 't_10.15JUNE2009_orca2' , 6 , 'T_10_MOD', .false. , .true. , 'yearly' , '' , '' 196 sn_humi = 'q_10.15JUNE2009_orca2' , 6 , 'Q_10_MOD', .false. , .true. , 'yearly' , '' , '' 197 sn_prec = 'ncar_precip.15JUNE2009_orca2', -1 , 'PRC_MOD1', .false. , .true. , 'yearly' , '' , '' 198 sn_snow = 'ncar_precip.15JUNE2009_orca2', -1 , 'SNOW' , .false. , .true. , 'yearly' , '' , '' 199 sn_tdif = 'taudif_core' , 24 , 'taudif' , .false. , .true. , 'yearly' , '' , '' 200 192 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 193 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 194 sn_wndi = 'u_10.15JUNE2009_orca2' , 6 , 'U_10_MOD', .false. , .true. , 'yearly' , '' , 'Uwnd' , '' 195 sn_wndj = 'v_10.15JUNE2009_orca2' , 6 , 'V_10_MOD', .false. , .true. , 'yearly' , '' , 'Vwnd' , '' 196 sn_qsr = 'ncar_rad.15JUNE2009_orca2' , 24 , 'SWDN_MOD', .false. , .true. , 'yearly' , '' , '' , '' 197 sn_qlw = 'ncar_rad.15JUNE2009_orca2' , 24 , 'LWDN_MOD', .false. , .true. , 'yearly' , '' , '' , '' 198 sn_tair = 't_10.15JUNE2009_orca2' , 6 , 'T_10_MOD', .false. , .true. , 'yearly' , '' , '' , '' 199 sn_humi = 'q_10.15JUNE2009_orca2' , 6 , 'Q_10_MOD', .false. , .true. , 'yearly' , '' , '' , '' 200 sn_prec = 'ncar_precip.15JUNE2009_orca2', -1 , 'PRC_MOD1', .false. , .true. , 'yearly' , '' , '' , '' 201 sn_snow = 'ncar_precip.15JUNE2009_orca2', -1 , 'SNOW' , .false. , .true. , 'yearly' , '' , '' , '' 202 sn_tdif = 'taudif_core' , 24 , 'taudif' , .false. , .true. , 'yearly' , '' , '' , '' 203 201 204 cn_dir = './' ! root directory for the location of the bulk files 202 205 ln_2m = .false. ! air temperature and humidity referenced at 2m (T) instead 10m (F) … … 207 210 &namsbc_mfs ! namsbc_mfs MFS bulk formulae 208 211 !----------------------------------------------------------------------- 209 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 210 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 211 sn_wndi = 'ecmwf' , 6 , 'u10' , .true. , .false. , 'daily' ,'bicubic.nc' , '' 212 sn_wndj = 'ecmwf' , 6 , 'v10' , .true. , .false. , 'daily' ,'bicubic.nc' , '' 213 sn_clc = 'ecmwf' , 6 , 'clc' , .true. , .false. , 'daily' ,'bilinear.nc', '' 214 sn_msl = 'ecmwf' , 6 , 'msl' , .true. , .false. , 'daily' ,'bicubic.nc' , '' 215 sn_tair = 'ecmwf' , 6 , 't2' , .true. , .false. , 'daily' ,'bicubic.nc' , '' 216 sn_rhm = 'ecmwf' , 6 , 'rh' , .true. , .false. , 'daily' ,'bilinear.nc', '' 217 sn_prec = 'ecmwf' , 6 , 'precip' , .true. , .true. , 'daily' ,'bicubic.nc' , '' 212 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 213 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 214 sn_wndi = 'ecmwf' , 6 , 'u10' , .true. , .false. , 'daily' ,'bicubic.nc' , '' , '' 215 sn_wndj = 'ecmwf' , 6 , 'v10' , .true. , .false. , 'daily' ,'bicubic.nc' , '' , '' 216 sn_clc = 'ecmwf' , 6 , 'clc' , .true. , .false. , 'daily' ,'bilinear.nc', '' , '' 217 sn_msl = 'ecmwf' , 6 , 'msl' , .true. , .false. , 'daily' ,'bicubic.nc' , '' , '' 218 sn_tair = 'ecmwf' , 6 , 't2' , .true. , .false. , 'daily' ,'bicubic.nc' , '' , '' 219 sn_rhm = 'ecmwf' , 6 , 'rh' , .true. , .false. , 'daily' ,'bilinear.nc', '' , '' 220 sn_prec = 'ecmwf' , 6 , 'precip' , .true. , .true. , 'daily' ,'bicubic.nc' , '' , '' 218 221 219 222 cn_dir = './ECMWF/' ! root directory for the location of the bulk files … … 245 248 &namtra_qsr ! penetrative solar radiation 246 249 !----------------------------------------------------------------------- 247 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 248 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 249 sn_chl ='chlorophyll', -1 , 'CHLA' , .true. , .true. , 'yearly' , '' , '' 250 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 251 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 252 sn_chl ='chlorophyll', -1 , 'CHLA' , .true. , .true. , 'yearly' , '' , '' , '' 250 253 251 254 cn_dir = './' ! root directory for the location of the runoff files … … 262 265 &namsbc_rnf ! runoffs namelist surface boundary condition 263 266 !----------------------------------------------------------------------- 264 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 265 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 266 sn_rnf = 'runoff_core_monthly', -1 , 'sorunoff', .true. , .true. , 'yearly' , '' , '' 267 sn_cnf = 'runoff_core_monthly', 0 , 'socoefr0', .false. , .true. , 'yearly' , '' , '' 268 sn_s_rnf = 'runoffs' , 24 , 'rosaline', .true. , .true. , 'yearly' , '' , '' 269 sn_t_rnf = 'runoffs' , 24 , 'rotemper', .true. , .true. , 'yearly' , '' , '' 270 sn_dep_rnf = 'runoffs' , 0 , 'rodepth' , .false. , .true. , 'yearly' , '' , '' 267 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 268 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 269 sn_rnf = 'runoff_core_monthly', -1 , 'sorunoff', .true. , .true. , 'yearly' , '' , '' , '' 270 sn_cnf = 'runoff_core_monthly', 0 , 'socoefr0', .false. , .true. , 'yearly' , '' , '' , '' 271 sn_s_rnf = 'runoffs' , 24 , 'rosaline', .true. , .true. , 'yearly' , '' , '' , '' 272 sn_t_rnf = 'runoffs' , 24 , 'rotemper', .true. , .true. , 'yearly' , '' , '' , '' 273 sn_dep_rnf = 'runoffs' , 0 , 'rodepth' , .false. , .true. , 'yearly' , '' , '' , '' 271 274 272 275 cn_dir = './' ! root directory for the location of the runoff files … … 283 286 &namsbc_apr ! Atmospheric pressure used as ocean forcing or in bulk 284 287 !----------------------------------------------------------------------- 285 ! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! 286 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 287 sn_apr = 'patm' , -1 ,'somslpre', .true. , .true. , 'yearly' , '' , '' 288 ! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 289 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 290 sn_apr = 'patm' , -1 ,'somslpre', .true. , .true. , 'yearly' , '' , '' , '' 288 291 289 292 cn_dir = './' ! root directory for the location of the bulk files … … 295 298 &namsbc_ssr ! surface boundary condition : sea surface restoring 296 299 !----------------------------------------------------------------------- 297 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 298 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 299 sn_sst = 'sst_data' , 24 , 'sst' , .false. , .false., 'yearly' , '' , '' 300 sn_sss = 'sss_data' , -1 , 'sss' , .true. , .true. , 'yearly' , '' , '' 300 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 301 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 302 sn_sst = 'sst_data' , 24 , 'sst' , .false. , .false., 'yearly' , '' , '' , '' 303 sn_sss = 'sss_data' , -1 , 'sss' , .true. , .true. , 'yearly' , '' , '' , '' 301 304 302 305 cn_dir = './' ! root directory for the location of the runoff files … … 346 349 rn_speed_limit = 0. ! CFL speed limit for a berg 347 350 348 ! filename ! freq (hours) ! variable ! time interp. ! clim !'yearly' or ! weights ! rotation ! 349 ! ! (<0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 350 sn_icb = 'calving' , -1 , 'calvingmask', .true. , .true., 'yearly' , ' ' , ' ' 351 ! filename ! freq (hours) ! variable ! time interp. ! clim !'yearly' or ! weights ! rotation ! land/sea mask ! 352 ! ! (<0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 353 sn_icb = 'calving' , -1 , 'calvingmask', .true. , .true., 'yearly' , ' ' , ' ' , '' 351 354 352 355 cn_dir = './' … … 447 450 &nambdy_dta ! open boundaries - external data ("key_bdy") 448 451 !----------------------------------------------------------------------- 449 ! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! 450 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 451 bn_ssh = 'amm12_bdyT_u2d' , 24 , 'sossheig' , .true. , .false. , 'daily' , '' , '' 452 bn_u2d = 'amm12_bdyU_u2d' , 24 , 'vobtcrtx' , .true. , .false. , 'daily' , '' , '' 453 bn_v2d = 'amm12_bdyV_u2d' , 24 , 'vobtcrty' , .true. , .false. , 'daily' , '' , '' 454 bn_u3d = 'amm12_bdyU_u3d' , 24 , 'vozocrtx' , .true. , .false. , 'daily' , '' , '' 455 bn_v3d = 'amm12_bdyV_u3d' , 24 , 'vomecrty' , .true. , .false. , 'daily' , '' , '' 456 bn_tem = 'amm12_bdyT_tra' , 24 , 'votemper' , .true. , .false. , 'daily' , '' , '' 457 bn_sal = 'amm12_bdyT_tra' , 24 , 'vosaline' , .true. , .false. , 'daily' , '' , '' 452 ! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 453 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 454 bn_ssh = 'amm12_bdyT_u2d' , 24 , 'sossheig' , .true. , .false. , 'daily' , '' , '' , '' 455 bn_u2d = 'amm12_bdyU_u2d' , 24 , 'vobtcrtx' , .true. , .false. , 'daily' , '' , '' , '' 456 bn_v2d = 'amm12_bdyV_u2d' , 24 , 'vobtcrty' , .true. , .false. , 'daily' , '' , '' , '' 457 bn_u3d = 'amm12_bdyU_u3d' , 24 , 'vozocrtx' , .true. , .false. , 'daily' , '' , '' , '' 458 bn_v3d = 'amm12_bdyV_u3d' , 24 , 'vomecrty' , .true. , .false. , 'daily' , '' , '' , '' 459 bn_tem = 'amm12_bdyT_tra' , 24 , 'votemper' , .true. , .false. , 'daily' , '' , '' , '' 460 bn_sal = 'amm12_bdyT_tra' , 24 , 'vosaline' , .true. , .false. , 'daily' , '' , '' , '' 458 461 cn_dir = 'bdydta/' 459 462 ln_full_vel = .false. … … 997 1000 &namsbc_wave ! External fields from wave model 998 1001 !----------------------------------------------------------------------- 999 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 1000 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 1001 sn_cdg = 'cdg_wave' , 1 , 'drag_coeff' , .true. , .false. , 'daily' ,'' , '' 1002 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 1003 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 1004 sn_cdg = 'cdg_wave' , 1 , 'drag_coeff' , .true. , .false. , 'daily' ,'' , '' , '' 1002 1005 ! 1003 1006 cn_dir_cdg = './' ! root directory for the location of drag coefficient files -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/CONFIG/ORCA2_LIM_CFC_C14b/EXP00/namelist_top
r3855 r4201 34 34 !----------------------------------------------------------------------- 35 35 ! 36 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 37 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 36 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 37 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 38 38 / 39 39 !----------------------------------------------------------------------- -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/CONFIG/ORCA2_LIM_PISCES/EXP00/namelist_pisces
r3904 r4201 25 25 &nampisatm ! Atmospheric prrssure 26 26 !,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 27 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 28 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 29 sn_patm = 'presatm' , -1 , 'patm' , .true. , .true. , 'yearly' , '' , '' 27 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 28 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 29 sn_patm = 'presatm' , -1 , 'patm' , .true. , .true. , 'yearly' , '' , '' , '' 30 30 cn_dir = './' ! root directory for the location of the dynamical files 31 31 ! … … 69 69 &nampisopt ! parameters for optics 70 70 !,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 71 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 72 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 73 sn_par = 'par.orca' , 24 , 'fr_par' , .true. , .true. , 'yearly' , '' , '' 71 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 72 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 73 sn_par = 'par.orca' , 24 , 'fr_par' , .true. , .true. , 'yearly' , '' , '' , '' 74 74 cn_dir = './' ! root directory for the location of the dynamical files 75 75 ln_varpar = .true. ! boolean for PAR variable … … 171 171 &nampissbc ! parameters for inputs deposition 172 172 !,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 173 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 174 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 175 sn_dust = 'dust.orca' , -1 , 'dust' , .true. , .true. , 'yearly' , '' , '' 176 sn_solub = 'solubility.orca' , -12 , 'solubility1' , .false. , .true. , 'yearly' , '' , '' 177 sn_riverdic = 'river.orca' , 120 , 'riverdic' , .true. , .true. , 'yearly' , '' , '' 178 sn_riverdoc = 'river.orca' , 120 , 'riverdoc' , .true. , .true. , 'yearly' , '' , '' 179 sn_riverdin = 'river.orca' , 120 , 'riverdin' , .true. , .true. , 'yearly' , '' , '' 180 sn_riverdon = 'river.orca' , 120 , 'riverdon' , .true. , .true. , 'yearly' , '' , '' 181 sn_riverdip = 'river.orca' , 120 , 'riverdip' , .true. , .true. , 'yearly' , '' , '' 182 sn_riverdop = 'river.orca' , 120 , 'riverdop' , .true. , .true. , 'yearly' , '' , '' 183 sn_riverdsi = 'river.orca' , 120 , 'riverdsi' , .true. , .true. , 'yearly' , '' , '' 184 sn_ndepo = 'ndeposition.orca', -12 , 'ndep' , .false. , .true. , 'yearly' , '' , '' 185 sn_ironsed = 'bathy.orca' , -12 , 'bathy' , .false. , .true. , 'yearly' , '' , '' 186 sn_hydrofe = 'hydrofe' , -12 , 'epsdb' , .false. , .true. , 'yearly' , '' , '' 173 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 174 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 175 sn_dust = 'dust.orca' , -1 , 'dust' , .true. , .true. , 'yearly' , '' , '' , '' 176 sn_solub = 'solubility.orca' , -12 , 'solubility1' , .false. , .true. , 'yearly' , '' , '' , '' 177 sn_riverdic = 'river.orca' , 120 , 'riverdic' , .true. , .true. , 'yearly' , '' , '' , '' 178 sn_riverdoc = 'river.orca' , 120 , 'riverdoc' , .true. , .true. , 'yearly' , '' , '' , '' 179 sn_riverdin = 'river.orca' , 120 , 'riverdin' , .true. , .true. , 'yearly' , '' , '' , '' 180 sn_riverdon = 'river.orca' , 120 , 'riverdon' , .true. , .true. , 'yearly' , '' , '' , '' 181 sn_riverdip = 'river.orca' , 120 , 'riverdip' , .true. , .true. , 'yearly' , '' , '' , '' 182 sn_riverdop = 'river.orca' , 120 , 'riverdop' , .true. , .true. , 'yearly' , '' , '' , '' 183 sn_riverdsi = 'river.orca' , 120 , 'riverdsi' , .true. , .true. , 'yearly' , '' , '' , '' 184 sn_ndepo = 'ndeposition.orca', -12 , 'ndep' , .false. , .true. , 'yearly' , '' , '' , '' 185 sn_ironsed = 'bathy.orca' , -12 , 'bathy' , .false. , .true. , 'yearly' , '' , '' , '' 186 sn_hydrofe = 'hydrofe' , -12 , 'epsdb' , .false. , .true. , 'yearly' , '' , '' , '' 187 187 ! 188 188 cn_dir = './' ! root directory for the location of the dynamical files -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/CONFIG/ORCA2_LIM_PISCES/EXP00/namelist_top
r3855 r4201 56 56 !----------------------------------------------------------------------- 57 57 ! 58 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 59 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 60 sn_trcdta(1) = 'data_DIC_nomask' , -12 , 'DIC' , .false. , .true. , 'yearly' , '' , '' 61 sn_trcdta(2) = 'data_Alkalini_nomask' , -12 , 'Alkalini', .false. , .true. , 'yearly' , '' , '' 62 sn_trcdta(3) = 'data_O2_nomask' , -1 , 'O2' , .true. , .true. , 'yearly' , '' , '' 63 sn_trcdta(5) = 'data_PO4_nomask' , -1 , 'PO4' , .true. , .true. , 'yearly' , '' , '' 64 sn_trcdta(7) = 'data_Si_nomask' , -1 , 'Si' , .true. , .true. , 'yearly' , '' , '' 65 sn_trcdta(10) = 'data_DOC_nomask' , -12 , 'DOC' , .false. , .true. , 'yearly' , '' , '' 66 sn_trcdta(14) = 'data_Fer_nomask' , -12 , 'Fer' , .false. , .true. , 'yearly' , '' , '' 67 sn_trcdta(23) = 'data_NO3_nomask' , -1 , 'NO3' , .true. , .true. , 'yearly' , '' , '' 68 ! 58 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 59 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 60 sn_trcdta(1) = 'data_DIC_nomask' , -12 , 'DIC' , .false. , .true. , 'yearly' , '' , '' , '' 61 sn_trcdta(2) = 'data_Alkalini_nomask' , -12 , 'Alkalini', .false. , .true. , 'yearly' , '' , '' , '' 62 sn_trcdta(3) = 'data_O2_nomask' , -1 , 'O2' , .true. , .true. , 'yearly' , '' , '' , '' 63 sn_trcdta(5) = 'data_PO4_nomask' , -1 , 'PO4' , .true. , .true. , 'yearly' , '' , '' , '' 64 sn_trcdta(7) = 'data_Si_nomask' , -1 , 'Si' , .true. , .true. , 'yearly' , '' , '' , '' 65 sn_trcdta(10) = 'data_DOC_nomask' , -12 , 'DOC' , .false. , .true. , 'yearly' , '' , '' , '' 66 sn_trcdta(14) = 'data_Fer_nomask' , -12 , 'Fer' , .false. , .true. , 'yearly' , '' , '' , '' 67 sn_trcdta(23) = 'data_NO3_nomask' , -1 , 'NO3' , .true. , .true. , 'yearly' , '' , '' , '' 68 ! 69 69 cn_dir = './' ! root directory for the location of the data files 70 70 rn_trfac(1) = 1.0e-06 ! multiplicative factor -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/CONFIG/ORCA2_OFF_PISCES/EXP00/namelist
r3905 r4201 108 108 &namtsd ! data : Temperature & Salinity 109 109 !----------------------------------------------------------------------- 110 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim !'yearly' or ! weights ! rotation ! 111 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 112 sn_tem = 'data_1m_potential_temperature_nomask', -1,'votemper', .true. , .true., 'yearly' , ' ' , ' ' 113 sn_sal = 'data_1m_salinity_nomask' , -1,'vosaline', .true. , .true., 'yearly' , '' , ' ' 110 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim !'yearly' or ! weights ! rotation ! land/sea mask ! 111 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 112 sn_tem = 'data_1m_potential_temperature_nomask', -1,'votemper', .true. , .true., 'yearly' , ' ' , ' ' , '' 113 sn_sal = 'data_1m_salinity_nomask' , -1,'vosaline', .true. , .true., 'yearly' , '' , ' ' , '' 114 114 ! 115 115 cn_dir = './' ! root directory for the location of the runoff files … … 162 162 ln_cdgw = .false. ! Neutral drag coefficient read from wave model (T => fill namsbc_wave) 163 163 ln_sdw = .false. ! Computation of 3D stokes drift (T => fill namsbc_wave) 164 nn_lsm = 0 ! =0 land/sea mask for input fields is not applied (the field land/sea mask filename 165 ! is left empty in namsbc namelists) , 166 ! =1:n number of iterations of land/sea mask application for input fields 164 167 / 165 168 !----------------------------------------------------------------------- … … 176 179 &namsbc_flx ! surface boundary condition : flux formulation 177 180 !----------------------------------------------------------------------- 178 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 179 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 180 sn_utau = 'utau' , 24 , 'utau' , .false. , .false., 'yearly' , '' , '' 181 sn_vtau = 'vtau' , 24 , 'vtau' , .false. , .false., 'yearly' , '' , '' 182 sn_qtot = 'qtot' , 24 , 'qtot' , .false. , .false., 'yearly' , '' , '' 183 sn_qsr = 'qsr' , 24 , 'qsr' , .false. , .false., 'yearly' , '' , '' 184 sn_emp = 'emp' , 24 , 'emp' , .false. , .false., 'yearly' , '' , '' 181 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 182 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 183 sn_utau = 'utau' , 24 , 'utau' , .false. , .false., 'yearly' , '' , '' , '' 184 sn_vtau = 'vtau' , 24 , 'vtau' , .false. , .false., 'yearly' , '' , '' , '' 185 sn_qtot = 'qtot' , 24 , 'qtot' , .false. , .false., 'yearly' , '' , '' , '' 186 sn_qsr = 'qsr' , 24 , 'qsr' , .false. , .false., 'yearly' , '' , '' , '' 187 sn_emp = 'emp' , 24 , 'emp' , .false. , .false., 'yearly' , '' , '' , '' 185 188 186 189 cn_dir = './' ! root directory for the location of the flux files … … 189 192 &namsbc_clio ! namsbc_clio CLIO bulk formulae 190 193 !----------------------------------------------------------------------- 191 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 192 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 193 sn_utau = 'taux_1m' , -1 , 'sozotaux', .true. , .true. , 'yearly' , '' , '' 194 sn_vtau = 'tauy_1m' , -1 , 'sometauy', .true. , .true. , 'yearly' , '' , '' 195 sn_wndm = 'flx' , -1 , 'socliowi', .true. , .true. , 'yearly' , '' , '' 196 sn_tair = 'flx' , -1 , 'socliot2', .true. , .true. , 'yearly' , '' , '' 197 sn_humi = 'flx' , -1 , 'socliohu', .true. , .true. , 'yearly' , '' , '' 198 sn_ccov = 'flx' , -1 , 'socliocl', .false. , .true. , 'yearly' , '' , '' 199 sn_prec = 'flx' , -1 , 'socliopl', .false. , .true. , 'yearly' , '' , '' 194 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 195 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 196 sn_utau = 'taux_1m' , -1 , 'sozotaux', .true. , .true. , 'yearly' , '' , '' , '' 197 sn_vtau = 'tauy_1m' , -1 , 'sometauy', .true. , .true. , 'yearly' , '' , '' , '' 198 sn_wndm = 'flx' , -1 , 'socliowi', .true. , .true. , 'yearly' , '' , '' , '' 199 sn_tair = 'flx' , -1 , 'socliot2', .true. , .true. , 'yearly' , '' , '' , '' 200 sn_humi = 'flx' , -1 , 'socliohu', .true. , .true. , 'yearly' , '' , '' , '' 201 sn_ccov = 'flx' , -1 , 'socliocl', .false. , .true. , 'yearly' , '' , '' , '' 202 sn_prec = 'flx' , -1 , 'socliopl', .false. , .true. , 'yearly' , '' , '' , '' 200 203 201 204 cn_dir = './' ! root directory for the location of the bulk files are … … 204 207 &namsbc_core ! namsbc_core CORE bulk formulae 205 208 !----------------------------------------------------------------------- 206 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 207 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 208 sn_wndi = 'u_10.15JUNE2009_orca2' , 6 , 'U_10_MOD', .false. , .true. , 'yearly' , '' , 'Uwnd' 209 sn_wndj = 'v_10.15JUNE2009_orca2' , 6 , 'V_10_MOD', .false. , .true. , 'yearly' , '' , 'Vwnd' 210 sn_qsr = 'ncar_rad.15JUNE2009_orca2' , 24 , 'SWDN_MOD', .false. , .true. , 'yearly' , '' , '' 211 sn_qlw = 'ncar_rad.15JUNE2009_orca2' , 24 , 'LWDN_MOD', .false. , .true. , 'yearly' , '' , '' 212 sn_tair = 't_10.15JUNE2009_orca2' , 6 , 'T_10_MOD', .false. , .true. , 'yearly' , '' , '' 213 sn_humi = 'q_10.15JUNE2009_orca2' , 6 , 'Q_10_MOD', .false. , .true. , 'yearly' , '' , '' 214 sn_prec = 'ncar_precip.15JUNE2009_orca2', -1 , 'PRC_MOD1', .false. , .true. , 'yearly' , '' , '' 215 sn_snow = 'ncar_precip.15JUNE2009_orca2', -1 , 'SNOW' , .false. , .true. , 'yearly' , '' , '' 216 sn_tdif = 'taudif_core' , 24 , 'taudif' , .false. , .true. , 'yearly' , '' , '' 209 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 210 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 211 sn_wndi = 'u_10.15JUNE2009_orca2' , 6 , 'U_10_MOD', .false. , .true. , 'yearly' , '' , 'Uwnd' , '' 212 sn_wndj = 'v_10.15JUNE2009_orca2' , 6 , 'V_10_MOD', .false. , .true. , 'yearly' , '' , 'Vwnd' , '' 213 sn_qsr = 'ncar_rad.15JUNE2009_orca2' , 24 , 'SWDN_MOD', .false. , .true. , 'yearly' , '' , '' , '' 214 sn_qlw = 'ncar_rad.15JUNE2009_orca2' , 24 , 'LWDN_MOD', .false. , .true. , 'yearly' , '' , '' , '' 215 sn_tair = 't_10.15JUNE2009_orca2' , 6 , 'T_10_MOD', .false. , .true. , 'yearly' , '' , '' , '' 216 sn_humi = 'q_10.15JUNE2009_orca2' , 6 , 'Q_10_MOD', .false. , .true. , 'yearly' , '' , '' , '' 217 sn_prec = 'ncar_precip.15JUNE2009_orca2', -1 , 'PRC_MOD1', .false. , .true. , 'yearly' , '' , '' , '' 218 sn_snow = 'ncar_precip.15JUNE2009_orca2', -1 , 'SNOW' , .false. , .true. , 'yearly' , '' , '' , '' 219 sn_tdif = 'taudif_core' , 24 , 'taudif' , .false. , .true. , 'yearly' , '' , '' , '' 217 220 218 221 cn_dir = './' ! root directory for the location of the bulk files … … 224 227 &namsbc_mfs ! namsbc_mfs MFS bulk formulae 225 228 !----------------------------------------------------------------------- 226 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 227 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 228 sn_wndi = 'ecmwf' , 6 , 'u10' , .true. , .false. , 'daily' ,'bicubic.nc' , '' 229 sn_wndj = 'ecmwf' , 6 , 'v10' , .true. , .false. , 'daily' ,'bicubic.nc' , '' 230 sn_clc = 'ecmwf' , 6 , 'clc' , .true. , .false. , 'daily' ,'bilinear.nc', '' 231 sn_msl = 'ecmwf' , 6 , 'msl' , .true. , .false. , 'daily' ,'bicubic.nc' , '' 232 sn_tair = 'ecmwf' , 6 , 't2' , .true. , .false. , 'daily' ,'bicubic.nc' , '' 233 sn_rhm = 'ecmwf' , 6 , 'rh' , .true. , .false. , 'daily' ,'bilinear.nc', '' 234 sn_prec = 'ecmwf' , 6 , 'precip' , .true. , .true. , 'daily' ,'bicubic.nc' , '' 229 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 230 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 231 sn_wndi = 'ecmwf' , 6 , 'u10' , .true. , .false. , 'daily' ,'bicubic.nc' , '' , '' 232 sn_wndj = 'ecmwf' , 6 , 'v10' , .true. , .false. , 'daily' ,'bicubic.nc' , '' , '' 233 sn_clc = 'ecmwf' , 6 , 'clc' , .true. , .false. , 'daily' ,'bilinear.nc', '' , '' 234 sn_msl = 'ecmwf' , 6 , 'msl' , .true. , .false. , 'daily' ,'bicubic.nc' , '' , '' 235 sn_tair = 'ecmwf' , 6 , 't2' , .true. , .false. , 'daily' ,'bicubic.nc' , '' , '' 236 sn_rhm = 'ecmwf' , 6 , 'rh' , .true. , .false. , 'daily' ,'bilinear.nc', '' , '' 237 sn_prec = 'ecmwf' , 6 , 'precip' , .true. , .true. , 'daily' ,'bicubic.nc' , '' , '' 235 238 236 239 cn_dir = './ECMWF/' ! root directory for the location of the bulk files … … 261 264 &namtra_qsr ! penetrative solar radiation 262 265 !----------------------------------------------------------------------- 263 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 264 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 265 sn_chl ='chlorophyll', -1 , 'CHLA' , .true. , .true. , 'yearly' , '' , '' 266 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 267 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 268 sn_chl ='chlorophyll', -1 , 'CHLA' , .true. , .true. , 'yearly' , '' , '' , '' 266 269 267 270 cn_dir = './' ! root directory for the location of the runoff files … … 278 281 &namsbc_rnf ! runoffs namelist surface boundary condition 279 282 !----------------------------------------------------------------------- 280 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 281 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 282 sn_rnf = 'runoff_core_monthly', -1 , 'sorunoff', .true. , .true. , 'yearly' , '' , '' 283 sn_cnf = 'runoff_core_monthly', 0 , 'socoefr0', .false. , .true. , 'yearly' , '' , '' 284 sn_s_rnf = 'runoffs' , 24 , 'rosaline', .true. , .true. , 'yearly' , '' , '' 285 sn_t_rnf = 'runoffs' , 24 , 'rotemper', .true. , .true. , 'yearly' , '' , '' 286 sn_dep_rnf = 'runoffs' , 0 , 'rodepth' , .false. , .true. , 'yearly' , '' , '' 283 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 284 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 285 sn_rnf = 'runoff_core_monthly', -1 , 'sorunoff', .true. , .true. , 'yearly' , '' , '' , '' 286 sn_cnf = 'runoff_core_monthly', 0 , 'socoefr0', .false. , .true. , 'yearly' , '' , '' , '' 287 sn_s_rnf = 'runoffs' , 24 , 'rosaline', .true. , .true. , 'yearly' , '' , '' , '' 288 sn_t_rnf = 'runoffs' , 24 , 'rotemper', .true. , .true. , 'yearly' , '' , '' , '' 289 sn_dep_rnf = 'runoffs' , 0 , 'rodepth' , .false. , .true. , 'yearly' , '' , '' , '' 287 290 288 291 cn_dir = './' ! root directory for the location of the runoff files … … 299 302 &namsbc_apr ! Atmospheric pressure used as ocean forcing or in bulk 300 303 !----------------------------------------------------------------------- 301 ! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! 302 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 303 sn_apr = 'patm' , -1 ,'somslpre', .true. , .true. , 'yearly' , '' , '' 304 ! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 305 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 306 sn_apr = 'patm' , -1 ,'somslpre', .true. , .true. , 'yearly' , '' , '' , '' 304 307 305 308 cn_dir = './' ! root directory for the location of the bulk files … … 311 314 &namsbc_ssr ! surface boundary condition : sea surface restoring 312 315 !----------------------------------------------------------------------- 313 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 314 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 315 sn_sst = 'sst_data' , 24 , 'sst' , .false. , .false., 'yearly' , '' , '' 316 sn_sss = 'sss_data' , -1 , 'sss' , .true. , .true. , 'yearly' , '' , '' 316 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 317 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 318 sn_sst = 'sst_data' , 24 , 'sst' , .false. , .false., 'yearly' , '' , '' , '' 319 sn_sss = 'sss_data' , -1 , 'sss' , .true. , .true. , 'yearly' , '' , '' , '' 317 320 318 321 cn_dir = './' ! root directory for the location of the runoff files … … 362 365 rn_speed_limit = 0. ! CFL speed limit for a berg 363 366 364 ! filename ! freq (hours) ! variable ! time interp. ! clim !'yearly' or ! weights ! rotation ! 365 ! ! (<0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 366 sn_icb = 'calving' , -1 , 'calvingmask', .true. , .true., 'yearly' , ' ' , ' ' 367 ! filename ! freq (hours) ! variable ! time interp. ! clim !'yearly' or ! weights ! rotation ! land/sea mask ! 368 ! ! (<0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 369 sn_icb = 'calving' , -1 , 'calvingmask', .true. , .true., 'yearly' , ' ' , ' ' , '' 367 370 368 371 cn_dir = './' … … 447 450 &nambdy_dta ! open boundaries - external data ("key_bdy") 448 451 !----------------------------------------------------------------------- 449 ! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! 450 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 451 bn_ssh = 'amm12_bdyT_u2d' , 24 , 'sossheig' , .true. , .false. , 'daily' , '' , '' 452 bn_u2d = 'amm12_bdyU_u2d' , 24 , 'vobtcrtx' , .true. , .false. , 'daily' , '' , '' 453 bn_v2d = 'amm12_bdyV_u2d' , 24 , 'vobtcrty' , .true. , .false. , 'daily' , '' , '' 454 bn_u3d = 'amm12_bdyU_u3d' , 24 , 'vozocrtx' , .true. , .false. , 'daily' , '' , '' 455 bn_v3d = 'amm12_bdyV_u3d' , 24 , 'vomecrty' , .true. , .false. , 'daily' , '' , '' 456 bn_tem = 'amm12_bdyT_tra' , 24 , 'votemper' , .true. , .false. , 'daily' , '' , '' 457 bn_sal = 'amm12_bdyT_tra' , 24 , 'vosaline' , .true. , .false. , 'daily' , '' , '' 452 ! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 453 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 454 bn_ssh = 'amm12_bdyT_u2d' , 24 , 'sossheig' , .true. , .false. , 'daily' , '' , '' , '' 455 bn_u2d = 'amm12_bdyU_u2d' , 24 , 'vobtcrtx' , .true. , .false. , 'daily' , '' , '' , '' 456 bn_v2d = 'amm12_bdyV_u2d' , 24 , 'vobtcrty' , .true. , .false. , 'daily' , '' , '' , '' 457 bn_u3d = 'amm12_bdyU_u3d' , 24 , 'vozocrtx' , .true. , .false. , 'daily' , '' , '' , '' 458 bn_v3d = 'amm12_bdyV_u3d' , 24 , 'vomecrty' , .true. , .false. , 'daily' , '' , '' , '' 459 bn_tem = 'amm12_bdyT_tra' , 24 , 'votemper' , .true. , .false. , 'daily' , '' , '' , '' 460 bn_sal = 'amm12_bdyT_tra' , 24 , 'vosaline' , .true. , .false. , 'daily' , '' , '' , '' 458 461 cn_dir = 'bdydta/' 459 462 ln_full_vel = .false. … … 659 662 &namdta_dyn ! offline dynamics read in files ("key_offline") 660 663 !----------------------------------------------------------------------- 661 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 662 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 663 sn_tem = 'dyna_grid_T' , 120 , 'votemper' , .true. , .true. , 'yearly' , '' , '' 664 sn_sal = 'dyna_grid_T' , 120 , 'vosaline' , .true. , .true. , 'yearly' , '' , '' 665 sn_mld = 'dyna_grid_T' , 120 , 'somixhgt' , .true. , .true. , 'yearly' , '' , '' 666 sn_emp = 'dyna_grid_T' , 120 , 'sowaflup' , .true. , .true. , 'yearly' , '' , '' 667 sn_fmf = 'dyna_grid_T' , 120 , 'iowaflup' , .true. , .true. , 'yearly' , '' , '' 668 sn_ice = 'dyna_grid_T' , 120 , 'soicecov' , .true. , .true. , 'yearly' , '' , '' 669 sn_qsr = 'dyna_grid_T' , 120 , 'soshfldo' , .true. , .true. , 'yearly' , '' , '' 670 sn_wnd = 'dyna_grid_T' , 120 , 'sowindsp' , .true. , .true. , 'yearly' , '' , '' 671 sn_uwd = 'dyna_grid_U' , 120 , 'vozocrtx' , .true. , .true. , 'yearly' , '' , '' 672 sn_vwd = 'dyna_grid_V' , 120 , 'vomecrty' , .true. , .true. , 'yearly' , '' , '' 673 sn_wwd = 'dyna_grid_W' , 120 , 'vovecrtz' , .true. , .true. , 'yearly' , '' , '' 674 sn_avt = 'dyna_grid_W' , 120 , 'voddmavs' , .true. , .true. , 'yearly' , '' , '' 675 sn_ubl = 'dyna_grid_U' , 120 , 'sobblcox' , .true. , .true. , 'yearly' , '' , '' 676 sn_vbl = 'dyna_grid_V' , 120 , 'sobblcoy' , .true. , .true. , 'yearly' , '' , '' 677 sn_eiw = 'dyna_grid_W' , 120 , 'soleaeiw' , .true. , .true. , 'yearly' , '' , '' 664 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 665 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 666 sn_tem = 'dyna_grid_T' , 120 , 'votemper' , .true. , .true. , 'yearly' , '' , '' , '' 667 sn_sal = 'dyna_grid_T' , 120 , 'vosaline' , .true. , .true. , 'yearly' , '' , '' , '' 668 sn_mld = 'dyna_grid_T' , 120 , 'somixhgt' , .true. , .true. , 'yearly' , '' , '' , '' 669 sn_emp = 'dyna_grid_T' , 120 , 'sowaflup' , .true. , .true. , 'yearly' , '' , '' , '' 670 sn_fmf = 'dyna_grid_T' , 120 , 'iowaflup' , .true. , .true. , 'yearly' , '' , '' , '' 671 sn_ice = 'dyna_grid_T' , 120 , 'soicecov' , .true. , .true. , 'yearly' , '' , '' , '' 672 sn_qsr = 'dyna_grid_T' , 120 , 'soshfldo' , .true. , .true. , 'yearly' , '' , '' , '' 673 sn_wnd = 'dyna_grid_T' , 120 , 'sowindsp' , .true. , .true. , 'yearly' , '' , '' , '' 674 sn_uwd = 'dyna_grid_U' , 120 , 'vozocrtx' , .true. , .true. , 'yearly' , '' , '' , '' 675 sn_vwd = 'dyna_grid_V' , 120 , 'vomecrty' , .true. , .true. , 'yearly' , '' , '' , '' 676 sn_wwd = 'dyna_grid_W' , 120 , 'vovecrtz' , .true. , .true. , 'yearly' , '' , '' , '' 677 sn_avt = 'dyna_grid_W' , 120 , 'voddmavs' , .true. , .true. , 'yearly' , '' , '' , '' 678 sn_ubl = 'dyna_grid_U' , 120 , 'sobblcox' , .true. , .true. , 'yearly' , '' , '' , '' 679 sn_vbl = 'dyna_grid_V' , 120 , 'sobblcoy' , .true. , .true. , 'yearly' , '' , '' , '' 680 sn_eiw = 'dyna_grid_W' , 120 , 'soleaeiw' , .true. , .true. , 'yearly' , '' , '' , '' 678 681 ! 679 682 cn_dir = './' ! root directory for the location of the dynamical files … … 1009 1012 &namsbc_wave ! External fields from wave model 1010 1013 !----------------------------------------------------------------------- 1011 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 1012 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 1013 sn_cdg = 'cdg_wave' , 1 , 'drag_coeff' , .true. , .false. , 'daily' ,'' , '' 1014 sn_usd = 'sdw_wave' , 1 , 'u_sd2d' , .true. , .false. , 'daily' ,'' , '' 1015 sn_vsd = 'sdw_wave' , 1 , 'v_sd2d' , .true. , .false. , 'daily' ,'' , '' 1016 sn_wn = 'sdw_wave' , 1 , 'wave_num' , .true. , .false. , 'daily' ,'' , '' 1014 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 1015 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 1016 sn_cdg = 'cdg_wave' , 1 , 'drag_coeff' , .true. , .false. , 'daily' ,'' , '' , '' 1017 sn_usd = 'sdw_wave' , 1 , 'u_sd2d' , .true. , .false. , 'daily' ,'' , '' , '' 1018 sn_vsd = 'sdw_wave' , 1 , 'v_sd2d' , .true. , .false. , 'daily' ,'' , '' , '' 1019 sn_wn = 'sdw_wave' , 1 , 'wave_num' , .true. , .false. , 'daily' ,'' , '' , '' 1017 1020 ! 1018 1021 cn_dir_cdg = './' ! root directory for the location of drag coefficient files -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/CONFIG/ORCA2_OFF_PISCES/EXP00/namelist_pisces
r3904 r4201 25 25 &nampisatm ! Atmospheric prrssure 26 26 !,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 27 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 28 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 29 sn_patm = 'presatm' , -1 , 'patm' , .true. , .true. , 'yearly' , '' , '' 27 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 28 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 29 sn_patm = 'presatm' , -1 , 'patm' , .true. , .true. , 'yearly' , '' , '' , '' 30 30 cn_dir = './' ! root directory for the location of the dynamical files 31 31 ! … … 69 69 &nampisopt ! parameters for optics 70 70 !,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 71 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 72 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 73 sn_par = 'par.orca' , 24 , 'fr_par' , .true. , .true. , 'yearly' , '' , '' 71 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 72 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 73 sn_par = 'par.orca' , 24 , 'fr_par' , .true. , .true. , 'yearly' , '' , '' , '' 74 74 cn_dir = './' ! root directory for the location of the dynamical files 75 75 ln_varpar = .true. ! boolean for PAR variable … … 171 171 &nampissbc ! parameters for inputs deposition 172 172 !,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 173 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 174 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 175 sn_dust = 'dust.orca' , -1 , 'dust' , .true. , .true. , 'yearly' , '' , '' 176 sn_solub = 'solubility.orca' , -12 , 'solubility1' , .false. , .true. , 'yearly' , '' , '' 177 sn_riverdic = 'river.orca' , 120 , 'riverdic' , .true. , .true. , 'yearly' , '' , '' 178 sn_riverdoc = 'river.orca' , 120 , 'riverdoc' , .true. , .true. , 'yearly' , '' , '' 179 sn_riverdin = 'river.orca' , 120 , 'riverdin' , .true. , .true. , 'yearly' , '' , '' 180 sn_riverdon = 'river.orca' , 120 , 'riverdon' , .true. , .true. , 'yearly' , '' , '' 181 sn_riverdip = 'river.orca' , 120 , 'riverdip' , .true. , .true. , 'yearly' , '' , '' 182 sn_riverdop = 'river.orca' , 120 , 'riverdop' , .true. , .true. , 'yearly' , '' , '' 183 sn_riverdsi = 'river.orca' , 120 , 'riverdsi' , .true. , .true. , 'yearly' , '' , '' 184 sn_ndepo = 'ndeposition.orca', -12 , 'ndep' , .false. , .true. , 'yearly' , '' , '' 185 sn_ironsed = 'bathy.orca' , -12 , 'bathy' , .false. , .true. , 'yearly' , '' , '' 186 sn_hydrofe = 'hydrofe' , -12 , 'epsdb' , .false. , .true. , 'yearly' , '' , '' 173 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 174 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 175 sn_dust = 'dust.orca' , -1 , 'dust' , .true. , .true. , 'yearly' , '' , '' , '' 176 sn_solub = 'solubility.orca' , -12 , 'solubility1' , .false. , .true. , 'yearly' , '' , '' , '' 177 sn_riverdic = 'river.orca' , 120 , 'riverdic' , .true. , .true. , 'yearly' , '' , '' , '' 178 sn_riverdoc = 'river.orca' , 120 , 'riverdoc' , .true. , .true. , 'yearly' , '' , '' , '' 179 sn_riverdin = 'river.orca' , 120 , 'riverdin' , .true. , .true. , 'yearly' , '' , '' , '' 180 sn_riverdon = 'river.orca' , 120 , 'riverdon' , .true. , .true. , 'yearly' , '' , '' , '' 181 sn_riverdip = 'river.orca' , 120 , 'riverdip' , .true. , .true. , 'yearly' , '' , '' , '' 182 sn_riverdop = 'river.orca' , 120 , 'riverdop' , .true. , .true. , 'yearly' , '' , '' , '' 183 sn_riverdsi = 'river.orca' , 120 , 'riverdsi' , .true. , .true. , 'yearly' , '' , '' , '' 184 sn_ndepo = 'ndeposition.orca', -12 , 'ndep' , .false. , .true. , 'yearly' , '' , '' , '' 185 sn_ironsed = 'bathy.orca' , -12 , 'bathy' , .false. , .true. , 'yearly' , '' , '' , '' 186 sn_hydrofe = 'hydrofe' , -12 , 'epsdb' , .false. , .true. , 'yearly' , '' , '' , '' 187 187 ! 188 188 cn_dir = './' ! root directory for the location of the dynamical files -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/CONFIG/ORCA2_OFF_PISCES/EXP00/namelist_top
r3855 r4201 56 56 !----------------------------------------------------------------------- 57 57 ! 58 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 59 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 60 sn_trcdta(1) = 'data_DIC_nomask' , -12 , 'DIC' , .false. , .true. , 'yearly' , '' , '' 61 sn_trcdta(2) = 'data_Alkalini_nomask' , -12 , 'Alkalini', .false. , .true. , 'yearly' , '' , '' 62 sn_trcdta(3) = 'data_1m_O2_nomask' , -1 , 'O2' , .true. , .true. , 'yearly' , '' , '' 63 sn_trcdta(5) = 'data_1m_PO4_nomask' , -1 , 'PO4' , .true. , .true. , 'yearly' , '' , '' 64 sn_trcdta(7) = 'data_1m_Si_nomask' , -1 , 'Si' , .true. , .true. , 'yearly' , '' , '' 65 sn_trcdta(14) = 'data_Fer_nomask' , -12 , 'Fer' , .false. , .true. , 'yearly' , '' , '' 66 sn_trcdta(23) = 'data_1m_NO3_nomask' , -1 , 'NO3' , .true. , .true. , 'yearly' , '' , '' 58 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 59 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 60 sn_trcdta(1) = 'data_DIC_nomask' , -12 , 'DIC' , .false. , .true. , 'yearly' , '' , '' , '' 61 sn_trcdta(2) = 'data_Alkalini_nomask' , -12 , 'Alkalini', .false. , .true. , 'yearly' , '' , '' , '' 62 sn_trcdta(3) = 'data_1m_O2_nomask' , -1 , 'O2' , .true. , .true. , 'yearly' , '' , '' , '' 63 sn_trcdta(5) = 'data_1m_PO4_nomask' , -1 , 'PO4' , .true. , .true. , 'yearly' , '' , '' , '' 64 sn_trcdta(7) = 'data_1m_Si_nomask' , -1 , 'Si' , .true. , .true. , 'yearly' , '' , '' , '' 65 sn_trcdta(14) = 'data_Fer_nomask' , -12 , 'Fer' , .false. , .true. , 'yearly' , '' , '' , '' 66 sn_trcdta(23) = 'data_1m_NO3_nomask' , -1 , 'NO3' , .true. , .true. , 'yearly' , '' , '' , '' 67 67 ! 68 68 cn_dir = './' ! root directory for the location of the data files -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/CONFIG/ORCA2_SAS_LIM/EXP00/1_namelist
r3795 r4201 97 97 &namtsd ! data : Temperature & Salinity 98 98 !----------------------------------------------------------------------- 99 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim !'yearly' or ! weights ! rotation ! 100 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 101 sn_tem = 'data_1m_potential_temperature_nomask', -1,'votemper', .true. , .true., 'yearly' , ' ' , ' ' 102 sn_sal = 'data_1m_salinity_nomask' , -1,'vosaline', .true. , .true., 'yearly' , '' , ' ' 99 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim !'yearly' or ! weights ! rotation ! land/sea mask ! 100 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 101 sn_tem = 'data_1m_potential_temperature_nomask', -1,'votemper', .true. , .true., 'yearly' , ' ' , ' ' , '' 102 sn_sal = 'data_1m_salinity_nomask' , -1,'vosaline', .true. , .true., 'yearly' , '' , ' ' , '' 103 103 / 104 104 !!====================================================================== … … 140 140 ! =2 annual global mean of e-p-r set to zero 141 141 ! =3 global emp set to zero and spread out over erp area 142 nn_lsm = 0 ! =0 land/sea mask for input fields is not applied (the field land/sea mask filename 143 ! is left empty in namsbc namelists) , 144 ! =1:n number of iterations of land/sea mask application for input fields 142 145 / 143 146 !----------------------------------------------------------------------- 144 147 &namsbc_ana ! analytical surface boundary condition 145 148 !----------------------------------------------------------------------- 146 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 147 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 148 sn_tem = 'sas_grid_T' , 120 , 'votemper' , .true. , .true. , 'yearly' , '' , '' 149 sn_sal = 'sas_grid_T' , 120 , 'vosaline' , .true. , .true. , 'yearly' , '' , '' 150 sn_uwd = 'sas_grid_U' , 120 , 'vozocrtx' , .true. , .true. , 'yearly' , '' , '' 151 sn_vwd = 'sas_grid_V' , 120 , 'vomecrty' , .true. , .true. , 'yearly' , '' , '' 149 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 150 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 151 sn_tem = 'sas_grid_T' , 120 , 'votemper' , .true. , .true. , 'yearly' , '' , '' , '' 152 sn_sal = 'sas_grid_T' , 120 , 'vosaline' , .true. , .true. , 'yearly' , '' , '' , '' 153 sn_uwd = 'sas_grid_U' , 120 , 'vozocrtx' , .true. , .true. , 'yearly' , '' , '' , '' 154 sn_vwd = 'sas_grid_V' , 120 , 'vomecrty' , .true. , .true. , 'yearly' , '' , '' , '' 152 155 153 156 cn_dir = './' ! root directory for the location of the bulk files are … … 166 169 &namsbc_flx ! surface boundary condition : flux formulation 167 170 !----------------------------------------------------------------------- 168 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 169 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 170 sn_utau = 'utau' , 24 , 'utau' , .false. , .false., 'yearly' , '' , '' 171 sn_vtau = 'vtau' , 24 , 'vtau' , .false. , .false., 'yearly' , '' , '' 172 sn_qtot = 'qtot' , 24 , 'qtot' , .false. , .false., 'yearly' , '' , '' 173 sn_qsr = 'qsr' , 24 , 'qsr' , .false. , .false., 'yearly' , '' , '' 174 sn_emp = 'emp' , 24 , 'emp' , .false. , .false., 'yearly' , '' , '' 171 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 172 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 173 sn_utau = 'utau' , 24 , 'utau' , .false. , .false., 'yearly' , '' , '' , '' 174 sn_vtau = 'vtau' , 24 , 'vtau' , .false. , .false., 'yearly' , '' , '' , '' 175 sn_qtot = 'qtot' , 24 , 'qtot' , .false. , .false., 'yearly' , '' , '' , '' 176 sn_qsr = 'qsr' , 24 , 'qsr' , .false. , .false., 'yearly' , '' , '' , '' 177 sn_emp = 'emp' , 24 , 'emp' , .false. , .false., 'yearly' , '' , '' , '' 175 178 176 179 cn_dir = './' ! root directory for the location of the flux files … … 179 182 &namsbc_clio ! namsbc_clio CLIO bulk formulea 180 183 !----------------------------------------------------------------------- 181 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 182 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 183 sn_utau = 'taux_1m' , -1 , 'sozotaux', .true. , .true. , 'yearly' , '' , '' 184 sn_vtau = 'tauy_1m' , -1 , 'sometauy', .true. , .true. , 'yearly' , '' , '' 185 sn_wndm = 'flx' , -1 , 'socliowi', .true. , .true. , 'yearly' , '' , '' 186 sn_tair = 'flx' , -1 , 'socliot2', .true. , .true. , 'yearly' , '' , '' 187 sn_humi = 'flx' , -1 , 'socliohu', .true. , .true. , 'yearly' , '' , '' 188 sn_ccov = 'flx' , -1 , 'socliocl', .false. , .true. , 'yearly' , '' , '' 189 sn_prec = 'flx' , -1 , 'socliopl', .false. , .true. , 'yearly' , '' , '' 184 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 185 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 186 sn_utau = 'taux_1m' , -1 , 'sozotaux', .true. , .true. , 'yearly' , '' , '' , '' 187 sn_vtau = 'tauy_1m' , -1 , 'sometauy', .true. , .true. , 'yearly' , '' , '' , '' 188 sn_wndm = 'flx' , -1 , 'socliowi', .true. , .true. , 'yearly' , '' , '' , '' 189 sn_tair = 'flx' , -1 , 'socliot2', .true. , .true. , 'yearly' , '' , '' , '' 190 sn_humi = 'flx' , -1 , 'socliohu', .true. , .true. , 'yearly' , '' , '' , '' 191 sn_ccov = 'flx' , -1 , 'socliocl', .false. , .true. , 'yearly' , '' , '' , '' 192 sn_prec = 'flx' , -1 , 'socliopl', .false. , .true. , 'yearly' , '' , '' , '' 190 193 191 194 cn_dir = './' ! root directory for the location of the bulk files are … … 194 197 &namsbc_core ! namsbc_core CORE bulk formulea 195 198 !----------------------------------------------------------------------- 196 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 197 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 198 sn_wndi = 'u_10.15JUNE2009_orca2' , 6 , 'U_10_MOD', .false. , .true. , 'yearly' , 'weights_bicub.nc' , '' 199 sn_wndj = 'v_10.15JUNE2009_orca2' , 6 , 'V_10_MOD', .false. , .true. , 'yearly' , 'weights_bicub.nc' , '' 200 sn_qsr = 'ncar_rad.15JUNE2009_orca2' , 24 , 'SWDN_MOD', .false. , .true. , 'yearly' , 'weights_bilin.nc' , '' 201 sn_qlw = 'ncar_rad.15JUNE2009_orca2' , 24 , 'LWDN_MOD', .false. , .true. , 'yearly' , 'weights_bilin.nc' , '' 202 sn_tair = 't_10.15JUNE2009_orca2' , 6 , 'T_10_MOD', .false. , .true. , 'yearly' , 'weights_bilin.nc' , '' 203 sn_humi = 'q_10.15JUNE2009_orca2' , 6 , 'Q_10_MOD', .false. , .true. , 'yearly' , 'weights_bilin.nc' , '' 204 sn_prec = 'ncar_precip.15JUNE2009_orca2', -1 , 'PRC_MOD1', .false. , .true. , 'yearly' , 'weights_bilin.nc' , '' 205 sn_snow = 'ncar_precip.15JUNE2009_orca2', -1 , 'SNOW' , .false. , .true. , 'yearly' , 'weights_bilin.nc' , '' 206 sn_tdif = 'taudif_core' , 24 , 'taudif' , .false. , .true. , 'yearly' , 'weights_bilin.nc' , '' 199 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 200 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 201 sn_wndi = 'u_10.15JUNE2009_orca2' , 6 , 'U_10_MOD', .false. , .true. , 'yearly' , 'weights_bicub.nc' , '' , '' 202 sn_wndj = 'v_10.15JUNE2009_orca2' , 6 , 'V_10_MOD', .false. , .true. , 'yearly' , 'weights_bicub.nc' , '' , '' 203 sn_qsr = 'ncar_rad.15JUNE2009_orca2' , 24 , 'SWDN_MOD', .false. , .true. , 'yearly' , 'weights_bilin.nc' , '' , '' 204 sn_qlw = 'ncar_rad.15JUNE2009_orca2' , 24 , 'LWDN_MOD', .false. , .true. , 'yearly' , 'weights_bilin.nc' , '' , '' 205 sn_tair = 't_10.15JUNE2009_orca2' , 6 , 'T_10_MOD', .false. , .true. , 'yearly' , 'weights_bilin.nc' , '' , '' 206 sn_humi = 'q_10.15JUNE2009_orca2' , 6 , 'Q_10_MOD', .false. , .true. , 'yearly' , 'weights_bilin.nc' , '' , '' 207 sn_prec = 'ncar_precip.15JUNE2009_orca2', -1 , 'PRC_MOD1', .false. , .true. , 'yearly' , 'weights_bilin.nc' , '' , '' 208 sn_snow = 'ncar_precip.15JUNE2009_orca2', -1 , 'SNOW' , .false. , .true. , 'yearly' , 'weights_bilin.nc' , '' , '' 209 sn_tdif = 'taudif_core' , 24 , 'taudif' , .false. , .true. , 'yearly' , 'weights_bilin.nc' , '' , '' 207 210 208 211 cn_dir = './' ! root directory for the location of the bulk files … … 237 240 &namtra_qsr ! penetrative solar radiation 238 241 !----------------------------------------------------------------------- 239 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 240 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 241 sn_chl ='chlorophyll', -1 , 'CHLA' , .true. , .true. , 'yearly' , 'weights_bilin.nc' , '' 242 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 243 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 244 sn_chl ='chlorophyll', -1 , 'CHLA' , .true. , .true. , 'yearly' , 'weights_bilin.nc' , '' , '' 242 245 243 246 cn_dir = './' ! root directory for the location of the runoff files … … 254 257 &namsbc_rnf ! runoffs namelist surface boundary condition 255 258 !----------------------------------------------------------------------- 256 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 257 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 258 sn_rnf = 'runoff_core_monthly', -1 , 'sorunoff', .true. , .true. , 'yearly' , '' , '' 259 sn_cnf = 'runoff_core_monthly', 0 , 'socoefr0', .false. , .true. , 'yearly' , '' , '' 260 sn_s_rnf = 'runoffs' , 24 , 'rosaline', .true. , .true. , 'yearly' , '' , '' 261 sn_t_rnf = 'runoffs' , 24 , 'rotemper', .true. , .true. , 'yearly' , '' , '' 262 sn_dep_rnf = 'runoffs' , 0 , 'rodepth' , .false. , .true. , 'yearly' , '' , '' 259 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 260 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 261 sn_rnf = 'runoff_core_monthly', -1 , 'sorunoff', .true. , .true. , 'yearly' , '' , '' , '' 262 sn_cnf = 'runoff_core_monthly', 0 , 'socoefr0', .false. , .true. , 'yearly' , '' , '' , '' 263 sn_s_rnf = 'runoffs' , 24 , 'rosaline', .true. , .true. , 'yearly' , '' , '' , '' 264 sn_t_rnf = 'runoffs' , 24 , 'rotemper', .true. , .true. , 'yearly' , '' , '' , '' 265 sn_dep_rnf = 'runoffs' , 0 , 'rodepth' , .false. , .true. , 'yearly' , '' , '' , '' 263 266 264 267 cn_dir = './' ! root directory for the location of the runoff files … … 275 278 &namsbc_apr ! Atmospheric pressure used as ocean forcing or in bulk 276 279 !----------------------------------------------------------------------- 277 ! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! 278 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 279 sn_apr = 'patm' , -1 ,'somslpre', .true. , .true. , 'yearly' , '' , '' 280 ! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 281 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 282 sn_apr = 'patm' , -1 ,'somslpre', .true. , .true. , 'yearly' , '' , '' , '' 280 283 281 284 cn_dir = './' ! root directory for the location of the bulk files … … 287 290 &namsbc_ssr ! surface boundary condition : sea surface restoring 288 291 !----------------------------------------------------------------------- 289 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 290 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 291 sn_sst = 'sst_data' , 24 , 'sst' , .false. , .false., 'yearly' , '' , '' 292 sn_sss = 'sss_data' , -1 , 'sss' , .true. , .true. , 'yearly' , '' , '' 292 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 293 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 294 sn_sst = 'sst_data' , 24 , 'sst' , .false. , .false., 'yearly' , '' , '' , '' 295 sn_sss = 'sss_data' , -1 , 'sss' , .true. , .true. , 'yearly' , '' , '' , '' 293 296 294 297 cn_dir = './' ! root directory for the location of the runoff files … … 392 395 &nambdy_dta ! open boundaries - external data ("key_bdy") 393 396 !----------------------------------------------------------------------- 394 ! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! 395 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 396 bn_ssh = 'amm12_bdyT_u2d' , 24 , 'sossheig' , .true. , .false. , 'daily' , '' , '' 397 bn_u2d = 'amm12_bdyU_u2d' , 24 , 'vobtcrtx' , .true. , .false. , 'daily' , '' , '' 398 bn_v2d = 'amm12_bdyV_u2d' , 24 , 'vobtcrty' , .true. , .false. , 'daily' , '' , '' 399 bn_u3d = 'amm12_bdyU_u3d' , 24 , 'vozocrtx' , .true. , .false. , 'daily' , '' , '' 400 bn_v3d = 'amm12_bdyV_u3d' , 24 , 'vomecrty' , .true. , .false. , 'daily' , '' , '' 401 bn_tem = 'amm12_bdyT_tra' , 24 , 'votemper' , .true. , .false. , 'daily' , '' , '' 402 bn_sal = 'amm12_bdyT_tra' , 24 , 'vosaline' , .true. , .false. , 'daily' , '' , '' 397 ! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 398 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 399 bn_ssh = 'amm12_bdyT_u2d' , 24 , 'sossheig' , .true. , .false. , 'daily' , '' , '' , '' 400 bn_u2d = 'amm12_bdyU_u2d' , 24 , 'vobtcrtx' , .true. , .false. , 'daily' , '' , '' , '' 401 bn_v2d = 'amm12_bdyV_u2d' , 24 , 'vobtcrty' , .true. , .false. , 'daily' , '' , '' , '' 402 bn_u3d = 'amm12_bdyU_u3d' , 24 , 'vozocrtx' , .true. , .false. , 'daily' , '' , '' , '' 403 bn_v3d = 'amm12_bdyV_u3d' , 24 , 'vomecrty' , .true. , .false. , 'daily' , '' , '' , '' 404 bn_tem = 'amm12_bdyT_tra' , 24 , 'votemper' , .true. , .false. , 'daily' , '' , '' , '' 405 bn_sal = 'amm12_bdyT_tra' , 24 , 'vosaline' , .true. , .false. , 'daily' , '' , '' , '' 403 406 cn_dir = 'bdydta/' 404 407 ln_full_vel = .false. … … 913 916 &namsbc_wave ! External fields from wave model 914 917 !----------------------------------------------------------------------- 915 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 916 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 917 sn_cdg = 'cdg_wave' , 1 , 'drag_coeff' , .true. , .false. , 'daily' ,'' , '' 918 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 919 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 920 sn_cdg = 'cdg_wave' , 1 , 'drag_coeff' , .true. , .false. , 'daily' ,'' , '' , '' 918 921 ! 919 922 cn_dir_cdg = './' ! root directory for the location of drag coefficient files -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/CONFIG/ORCA2_SAS_LIM/EXP00/namelist
r3795 r4201 96 96 &namtsd ! data : Temperature & Salinity 97 97 !----------------------------------------------------------------------- 98 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim !'yearly' or ! weights ! rotation ! 99 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 100 sn_tem = 'data_1m_potential_temperature_nomask', -1,'votemper', .true. , .true., 'yearly' , ' ' , ' ' 101 sn_sal = 'data_1m_salinity_nomask' , -1,'vosaline', .true. , .true., 'yearly' , '' , ' ' 98 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim !'yearly' or ! weights ! rotation ! land/sea mask ! 99 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 100 sn_tem = 'data_1m_potential_temperature_nomask', -1,'votemper', .true. , .true., 'yearly' , ' ' , ' ' , '' 101 sn_sal = 'data_1m_salinity_nomask' , -1,'vosaline', .true. , .true., 'yearly' , '' , ' ' , '' 102 102 ! 103 103 cn_dir = './' ! root directory for the location of the runoff files … … 146 146 ! =3 global emp set to zero and spread out over erp area 147 147 ln_cdgw = .false. ! Neutral drag coefficient read from wave model (T => fill namsbc_wave) 148 nn_lsm = 0 ! =0 land/sea mask for input fields is not applied (the field land/sea mask filename 149 ! is left empty in namsbc namelists) , 150 ! =1:n number of iterations of land/sea mask application for input fields 148 151 / 149 152 !----------------------------------------------------------------------- 150 153 &namsbc_sas ! analytical surface boundary condition 151 154 !----------------------------------------------------------------------- 152 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 153 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 154 sn_usp = 'sas_grid_U' , 120 , 'vozocrtx' , .true. , .true. , 'yearly' , '' , '' 155 sn_vsp = 'sas_grid_V' , 120 , 'vomecrty' , .true. , .true. , 'yearly' , '' , '' 156 sn_tem = 'sas_grid_T' , 120 , 'sosstsst' , .true. , .true. , 'yearly' , '' , '' 157 sn_sal = 'sas_grid_T' , 120 , 'sosaline' , .true. , .true. , 'yearly' , '' , '' 158 sn_ssh = 'sas_grid_T' , 120 , 'sossheig' , .true. , .true. , 'yearly' , '' , '' 155 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 156 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 157 sn_usp = 'sas_grid_U' , 120 , 'vozocrtx' , .true. , .true. , 'yearly' , '' , '' , '' 158 sn_vsp = 'sas_grid_V' , 120 , 'vomecrty' , .true. , .true. , 'yearly' , '' , '' , '' 159 sn_tem = 'sas_grid_T' , 120 , 'sosstsst' , .true. , .true. , 'yearly' , '' , '' , '' 160 sn_sal = 'sas_grid_T' , 120 , 'sosaline' , .true. , .true. , 'yearly' , '' , '' , '' 161 sn_ssh = 'sas_grid_T' , 120 , 'sossheig' , .true. , .true. , 'yearly' , '' , '' , '' 159 162 160 163 ln_3d_uv = .true. ! specify whether we are supplying a 3D u,v field … … 174 177 &namsbc_flx ! surface boundary condition : flux formulation 175 178 !----------------------------------------------------------------------- 176 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 177 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 178 sn_utau = 'utau' , 24 , 'utau' , .false. , .false., 'yearly' , '' , '' 179 sn_vtau = 'vtau' , 24 , 'vtau' , .false. , .false., 'yearly' , '' , '' 180 sn_qtot = 'qtot' , 24 , 'qtot' , .false. , .false., 'yearly' , '' , '' 181 sn_qsr = 'qsr' , 24 , 'qsr' , .false. , .false., 'yearly' , '' , '' 182 sn_emp = 'emp' , 24 , 'emp' , .false. , .false., 'yearly' , '' , '' 179 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 180 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 181 sn_utau = 'utau' , 24 , 'utau' , .false. , .false., 'yearly' , '' , '' , '' 182 sn_vtau = 'vtau' , 24 , 'vtau' , .false. , .false., 'yearly' , '' , '' , '' 183 sn_qtot = 'qtot' , 24 , 'qtot' , .false. , .false., 'yearly' , '' , '' , '' 184 sn_qsr = 'qsr' , 24 , 'qsr' , .false. , .false., 'yearly' , '' , '' , '' 185 sn_emp = 'emp' , 24 , 'emp' , .false. , .false., 'yearly' , '' , '' , '' 183 186 184 187 cn_dir = './' ! root directory for the location of the flux files … … 187 190 &namsbc_clio ! namsbc_clio CLIO bulk formulae 188 191 !----------------------------------------------------------------------- 189 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 190 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 191 sn_utau = 'taux_1m' , -1 , 'sozotaux', .true. , .true. , 'yearly' , '' , '' 192 sn_vtau = 'tauy_1m' , -1 , 'sometauy', .true. , .true. , 'yearly' , '' , '' 193 sn_wndm = 'flx' , -1 , 'socliowi', .true. , .true. , 'yearly' , '' , '' 194 sn_tair = 'flx' , -1 , 'socliot2', .true. , .true. , 'yearly' , '' , '' 195 sn_humi = 'flx' , -1 , 'socliohu', .true. , .true. , 'yearly' , '' , '' 196 sn_ccov = 'flx' , -1 , 'socliocl', .false. , .true. , 'yearly' , '' , '' 197 sn_prec = 'flx' , -1 , 'socliopl', .false. , .true. , 'yearly' , '' , '' 192 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 193 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 194 sn_utau = 'taux_1m' , -1 , 'sozotaux', .true. , .true. , 'yearly' , '' , '' , '' 195 sn_vtau = 'tauy_1m' , -1 , 'sometauy', .true. , .true. , 'yearly' , '' , '' , '' 196 sn_wndm = 'flx' , -1 , 'socliowi', .true. , .true. , 'yearly' , '' , '' , '' 197 sn_tair = 'flx' , -1 , 'socliot2', .true. , .true. , 'yearly' , '' , '' , '' 198 sn_humi = 'flx' , -1 , 'socliohu', .true. , .true. , 'yearly' , '' , '' , '' 199 sn_ccov = 'flx' , -1 , 'socliocl', .false. , .true. , 'yearly' , '' , '' , '' 200 sn_prec = 'flx' , -1 , 'socliopl', .false. , .true. , 'yearly' , '' , '' , '' 198 201 199 202 cn_dir = './' ! root directory for the location of the bulk files are … … 202 205 &namsbc_core ! namsbc_core CORE bulk formulae 203 206 !----------------------------------------------------------------------- 204 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 205 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 206 sn_wndi = 'u_10.15JUNE2009_orca2' , 6 , 'U_10_MOD', .false. , .true. , 'yearly' , '' , 'Uwnd' 207 sn_wndj = 'v_10.15JUNE2009_orca2' , 6 , 'V_10_MOD', .false. , .true. , 'yearly' , '' , 'Vwnd' 208 sn_qsr = 'ncar_rad.15JUNE2009_orca2' , 24 , 'SWDN_MOD', .false. , .true. , 'yearly' , '' , '' 209 sn_qlw = 'ncar_rad.15JUNE2009_orca2' , 24 , 'LWDN_MOD', .false. , .true. , 'yearly' , '' , '' 210 sn_tair = 't_10.15JUNE2009_orca2' , 6 , 'T_10_MOD', .false. , .true. , 'yearly' , '' , '' 211 sn_humi = 'q_10.15JUNE2009_orca2' , 6 , 'Q_10_MOD', .false. , .true. , 'yearly' , '' , '' 212 sn_prec = 'ncar_precip.15JUNE2009_orca2', -1 , 'PRC_MOD1', .false. , .true. , 'yearly' , '' , '' 213 sn_snow = 'ncar_precip.15JUNE2009_orca2', -1 , 'SNOW' , .false. , .true. , 'yearly' , '' , '' 214 sn_tdif = 'taudif_core' , 24 , 'taudif' , .false. , .true. , 'yearly' , '' , '' 207 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 208 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 209 sn_wndi = 'u_10.15JUNE2009_orca2' , 6 , 'U_10_MOD', .false. , .true. , 'yearly' , '' , 'Uwnd' , '' 210 sn_wndj = 'v_10.15JUNE2009_orca2' , 6 , 'V_10_MOD', .false. , .true. , 'yearly' , '' , 'Vwnd' , '' 211 sn_qsr = 'ncar_rad.15JUNE2009_orca2' , 24 , 'SWDN_MOD', .false. , .true. , 'yearly' , '' , '' , '' 212 sn_qlw = 'ncar_rad.15JUNE2009_orca2' , 24 , 'LWDN_MOD', .false. , .true. , 'yearly' , '' , '' , '' 213 sn_tair = 't_10.15JUNE2009_orca2' , 6 , 'T_10_MOD', .false. , .true. , 'yearly' , '' , '' , '' 214 sn_humi = 'q_10.15JUNE2009_orca2' , 6 , 'Q_10_MOD', .false. , .true. , 'yearly' , '' , '' , '' 215 sn_prec = 'ncar_precip.15JUNE2009_orca2', -1 , 'PRC_MOD1', .false. , .true. , 'yearly' , '' , '' , '' 216 sn_snow = 'ncar_precip.15JUNE2009_orca2', -1 , 'SNOW' , .false. , .true. , 'yearly' , '' , '' , '' 217 sn_tdif = 'taudif_core' , 24 , 'taudif' , .false. , .true. , 'yearly' , '' , '' , '' 215 218 216 219 cn_dir = './' ! root directory for the location of the bulk files … … 222 225 &namsbc_mfs ! namsbc_mfs MFS bulk formulae 223 226 !----------------------------------------------------------------------- 224 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 225 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 226 sn_wndi = 'ecmwf' , 6 , 'u10' , .true. , .false. , 'daily' ,'bicubic.nc' , '' 227 sn_wndj = 'ecmwf' , 6 , 'v10' , .true. , .false. , 'daily' ,'bicubic.nc' , '' 228 sn_clc = 'ecmwf' , 6 , 'clc' , .true. , .false. , 'daily' ,'bilinear.nc', '' 229 sn_msl = 'ecmwf' , 6 , 'msl' , .true. , .false. , 'daily' ,'bicubic.nc' , '' 230 sn_tair = 'ecmwf' , 6 , 't2' , .true. , .false. , 'daily' ,'bicubic.nc' , '' 231 sn_rhm = 'ecmwf' , 6 , 'rh' , .true. , .false. , 'daily' ,'bilinear.nc', '' 232 sn_prec = 'ecmwf' , 6 , 'precip' , .true. , .true. , 'daily' ,'bicubic.nc' , '' 227 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 228 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 229 sn_wndi = 'ecmwf' , 6 , 'u10' , .true. , .false. , 'daily' ,'bicubic.nc' , '' , '' 230 sn_wndj = 'ecmwf' , 6 , 'v10' , .true. , .false. , 'daily' ,'bicubic.nc' , '' , '' 231 sn_clc = 'ecmwf' , 6 , 'clc' , .true. , .false. , 'daily' ,'bilinear.nc', '' , '' 232 sn_msl = 'ecmwf' , 6 , 'msl' , .true. , .false. , 'daily' ,'bicubic.nc' , '' , '' 233 sn_tair = 'ecmwf' , 6 , 't2' , .true. , .false. , 'daily' ,'bicubic.nc' , '' , '' 234 sn_rhm = 'ecmwf' , 6 , 'rh' , .true. , .false. , 'daily' ,'bilinear.nc', '' , '' 235 sn_prec = 'ecmwf' , 6 , 'precip' , .true. , .true. , 'daily' ,'bicubic.nc' , '' , '' 233 236 234 237 cn_dir = './ECMWF/' ! root directory for the location of the bulk files … … 260 263 &namtra_qsr ! penetrative solar radiation 261 264 !----------------------------------------------------------------------- 262 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 263 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 264 sn_chl ='chlorophyll', -1 , 'CHLA' , .true. , .true. , 'yearly' , '' , '' 265 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 266 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 267 sn_chl ='chlorophyll', -1 , 'CHLA' , .true. , .true. , 'yearly' , '' , '' , '' 265 268 266 269 cn_dir = './' ! root directory for the location of the runoff files … … 277 280 &namsbc_rnf ! runoffs namelist surface boundary condition 278 281 !----------------------------------------------------------------------- 279 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 280 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 281 sn_rnf = 'runoff_core_monthly', -1 , 'sorunoff', .true. , .true. , 'yearly' , '' , '' 282 sn_cnf = 'runoff_core_monthly', 0 , 'socoefr0', .false. , .true. , 'yearly' , '' , '' 283 sn_s_rnf = 'runoffs' , 24 , 'rosaline', .true. , .true. , 'yearly' , '' , '' 284 sn_t_rnf = 'runoffs' , 24 , 'rotemper', .true. , .true. , 'yearly' , '' , '' 285 sn_dep_rnf = 'runoffs' , 0 , 'rodepth' , .false. , .true. , 'yearly' , '' , '' 282 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 283 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 284 sn_rnf = 'runoff_core_monthly', -1 , 'sorunoff', .true. , .true. , 'yearly' , '' , '' , '' 285 sn_cnf = 'runoff_core_monthly', 0 , 'socoefr0', .false. , .true. , 'yearly' , '' , '' , '' 286 sn_s_rnf = 'runoffs' , 24 , 'rosaline', .true. , .true. , 'yearly' , '' , '' , '' 287 sn_t_rnf = 'runoffs' , 24 , 'rotemper', .true. , .true. , 'yearly' , '' , '' , '' 288 sn_dep_rnf = 'runoffs' , 0 , 'rodepth' , .false. , .true. , 'yearly' , '' , '' , '' 286 289 287 290 cn_dir = './' ! root directory for the location of the runoff files … … 298 301 &namsbc_apr ! Atmospheric pressure used as ocean forcing or in bulk 299 302 !----------------------------------------------------------------------- 300 ! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! 301 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 302 sn_apr = 'patm' , -1 ,'somslpre', .true. , .true. , 'yearly' , '' , '' 303 ! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 304 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 305 sn_apr = 'patm' , -1 ,'somslpre', .true. , .true. , 'yearly' , '' , '' , '' 303 306 304 307 cn_dir = './' ! root directory for the location of the bulk files … … 310 313 &namsbc_ssr ! surface boundary condition : sea surface restoring 311 314 !----------------------------------------------------------------------- 312 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 313 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 314 sn_sst = 'sst_data' , 24 , 'sst' , .false. , .false., 'yearly' , '' , '' 315 sn_sss = 'sss_data' , -1 , 'sss' , .true. , .true. , 'yearly' , '' , '' 315 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 316 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 317 sn_sst = 'sst_data' , 24 , 'sst' , .false. , .false., 'yearly' , '' , '' , '' 318 sn_sss = 'sss_data' , -1 , 'sss' , .true. , .true. , 'yearly' , '' , '' , '' 316 319 317 320 cn_dir = './' ! root directory for the location of the runoff files … … 361 364 rn_speed_limit = 0. ! CFL speed limit for a berg 362 365 363 ! filename ! freq (hours) ! variable ! time interp. ! clim !'yearly' or ! weights ! rotation ! 364 ! ! (<0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 365 sn_icb = 'calving' , -1 , 'calvingmask', .true. , .true., 'yearly' , ' ' , ' ' 366 ! filename ! freq (hours) ! variable ! time interp. ! clim !'yearly' or ! weights ! rotation ! land/sea mask ! 367 ! ! (<0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 368 sn_icb = 'calving' , -1 , 'calvingmask', .true. , .true., 'yearly' , ' ' , ' ' , '' 366 369 367 370 cn_dir = './' … … 463 466 &nambdy_dta ! open boundaries - external data ("key_bdy") 464 467 !----------------------------------------------------------------------- 465 ! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! 466 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 467 bn_ssh = 'amm12_bdyT_u2d' , 24 , 'sossheig' , .true. , .false. , 'daily' , '' , '' 468 bn_u2d = 'amm12_bdyU_u2d' , 24 , 'vobtcrtx' , .true. , .false. , 'daily' , '' , '' 469 bn_v2d = 'amm12_bdyV_u2d' , 24 , 'vobtcrty' , .true. , .false. , 'daily' , '' , '' 470 bn_u3d = 'amm12_bdyU_u3d' , 24 , 'vozocrtx' , .true. , .false. , 'daily' , '' , '' 471 bn_v3d = 'amm12_bdyV_u3d' , 24 , 'vomecrty' , .true. , .false. , 'daily' , '' , '' 472 bn_tem = 'amm12_bdyT_tra' , 24 , 'votemper' , .true. , .false. , 'daily' , '' , '' 473 bn_sal = 'amm12_bdyT_tra' , 24 , 'vosaline' , .true. , .false. , 'daily' , '' , '' 468 ! ! file name ! frequency (hours) ! variable ! time interpol. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 469 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 470 bn_ssh = 'amm12_bdyT_u2d' , 24 , 'sossheig' , .true. , .false. , 'daily' , '' , '' , '' 471 bn_u2d = 'amm12_bdyU_u2d' , 24 , 'vobtcrtx' , .true. , .false. , 'daily' , '' , '' , '' 472 bn_v2d = 'amm12_bdyV_u2d' , 24 , 'vobtcrty' , .true. , .false. , 'daily' , '' , '' , '' 473 bn_u3d = 'amm12_bdyU_u3d' , 24 , 'vozocrtx' , .true. , .false. , 'daily' , '' , '' , '' 474 bn_v3d = 'amm12_bdyV_u3d' , 24 , 'vomecrty' , .true. , .false. , 'daily' , '' , '' , '' 475 bn_tem = 'amm12_bdyT_tra' , 24 , 'votemper' , .true. , .false. , 'daily' , '' , '' , '' 476 bn_sal = 'amm12_bdyT_tra' , 24 , 'vosaline' , .true. , .false. , 'daily' , '' , '' , '' 474 477 cn_dir = 'bdydta/' 475 478 ln_full_vel = .false. … … 1013 1016 &namsbc_wave ! External fields from wave model 1014 1017 !----------------------------------------------------------------------- 1015 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 1016 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 1017 sn_cdg = 'cdg_wave' , 1 , 'drag_coeff' , .true. , .false. , 'daily' ,'' , '' 1018 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 1019 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 1020 sn_cdg = 'cdg_wave' , 1 , 'drag_coeff' , .true. , .false. , 'daily' ,'' , '' , '' 1018 1021 ! 1019 1022 cn_dir_cdg = './' ! root directory for the location of drag coefficient files -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/CONFIG/ORCA2_SAS_LIM/EXP00/namelist_ice_lim2
r3910 r4201 86 86 ! ! (hard coded damping area: check if it fit your config) 87 87 !----------------------------------------------------------------------- 88 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! 89 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! 90 sn_hicif = 'ice_damping', -1. , 'hicif' , .true. , .true. , 'yearly' , '' , '' 91 sn_frld = 'ice_damping', -1. , 'frld' , .true. , .true. , 'yearly' , '' , '' 88 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 89 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 90 sn_hicif = 'ice_damping', -1. , 'hicif' , .true. , .true. , 'yearly' , '' , '' , '' 91 sn_frld = 'ice_damping', -1. , 'frld' , .true. , .true. , 'yearly' , '' , '' , '' 92 92 ! 93 93 cn_dir = './' ! root directory for the location of the runoff files -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/CONFIG/cfg.txt
r3905 r4201 9 9 ORCA2_OFF_PISCES OPA_SRC OFF_SRC TOP_SRC 10 10 ORCA2_LIM_PISCES OPA_SRC LIM_SRC_2 NST_SRC TOP_SRC 11 GYRE_TEST OPA_SRC -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/NEMO/OFF_SRC/nemogcm.F90
r3827 r4201 46 46 USE timing ! Timing 47 47 USE lib_fortran ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined) 48 USE lbcnfd, ONLY: isendto, nsndto 48 49 49 50 IMPLICIT NONE … … 520 521 !!====================================================================== 521 522 !! *** ROUTINE nemo_northcomms *** 522 !! nemo_northcomms : Setup for north fold exchanges with explicit peer to peer messaging 523 !! nemo_northcomms : Setup for north fold exchanges with explicit 524 !! point-to-point messaging 523 525 !!===================================================================== 524 526 !!---------------------------------------------------------------------- 525 !! 527 !! 526 528 !! ** Purpose : Initialization of the northern neighbours lists. 527 529 !!---------------------------------------------------------------------- 528 !! 1.0 ! 2011-10 (A. C. Coward, NOCS & J. Donners, PRACE) 529 !!---------------------------------------------------------------------- 530 531 INTEGER :: ji, jj, jk, ij, jtyp ! dummy loop indices 532 INTEGER :: ijpj ! number of rows involved in north-fold exchange 533 INTEGER :: northcomms_alloc ! allocate return status 534 REAL(wp), ALLOCATABLE, DIMENSION ( :,: ) :: znnbrs ! workspace 535 LOGICAL, ALLOCATABLE, DIMENSION ( : ) :: lrankset ! workspace 536 537 IF(lwp) WRITE(numout,*) 538 IF(lwp) WRITE(numout,*) 'nemo_northcomms : Initialization of the northern neighbours lists' 539 IF(lwp) WRITE(numout,*) '~~~~~~~~~~' 540 541 !!---------------------------------------------------------------------- 542 ALLOCATE( znnbrs(jpi,jpj), stat = northcomms_alloc ) 543 ALLOCATE( lrankset(jpnij), stat = northcomms_alloc ) 544 IF( northcomms_alloc /= 0 ) THEN 545 WRITE(numout,cform_war) 546 WRITE(numout,*) 'northcomms_alloc : failed to allocate arrays' 547 CALL ctl_stop( 'STOP', 'nemo_northcomms : unable to allocate temporary arrays' ) 548 ENDIF 530 !! 1.0 ! 2011-10 (A. C. Coward, NOCS & J. Donners, PRACE) 531 !! 2.0 ! 2013-06 Setup avoiding MPI communication (I. Epicoco, S. Mocavero, CMCC) 532 !!---------------------------------------------------------------------- 533 534 INTEGER :: sxM, dxM, sxT, dxT, jn 535 INTEGER :: njmppmax 536 537 njmppmax = MAXVAL( njmppt ) 538 539 !initializes the north-fold communication variables 540 isendto(:) = 0 549 541 nsndto = 0 550 isendto = -1 551 ijpj = 4 552 ! 553 ! This routine has been called because ln_nnogather has been set true ( nammpp ) 554 ! However, these first few exchanges have to use the mpi_allgather method to 555 ! establish the neighbour lists to use in subsequent peer to peer exchanges. 556 ! Consequently, set l_north_nogather to be false here and set it true only after 557 ! the lists have been established. 558 ! 559 l_north_nogather = .FALSE. 560 ! 561 ! Exchange and store ranks on northern rows 562 563 DO jtyp = 1,4 564 565 lrankset = .FALSE. 566 znnbrs = narea 567 SELECT CASE (jtyp) 568 CASE(1) 569 CALL lbc_lnk( znnbrs, 'T', 1. ) ! Type 1: T,W-points 570 CASE(2) 571 CALL lbc_lnk( znnbrs, 'U', 1. ) ! Type 2: U-point 572 CASE(3) 573 CALL lbc_lnk( znnbrs, 'V', 1. ) ! Type 3: V-point 574 CASE(4) 575 CALL lbc_lnk( znnbrs, 'F', 1. ) ! Type 4: F-point 576 END SELECT 577 578 IF ( njmppt(narea) .EQ. MAXVAL( njmppt ) ) THEN 579 DO jj = nlcj-ijpj+1, nlcj 580 ij = jj - nlcj + ijpj 581 DO ji = 1,jpi 582 IF ( INT(znnbrs(ji,jj)) .NE. 0 .AND. INT(znnbrs(ji,jj)) .NE. narea ) & 583 & lrankset(INT(znnbrs(ji,jj))) = .true. 584 END DO 585 END DO 586 587 DO jj = 1,jpnij 588 IF ( lrankset(jj) ) THEN 589 nsndto(jtyp) = nsndto(jtyp) + 1 590 IF ( nsndto(jtyp) .GT. jpmaxngh ) THEN 591 CALL ctl_stop( ' Too many neighbours in nemo_northcomms ', & 592 & ' jpmaxngh will need to be increased ') 593 ENDIF 594 isendto(nsndto(jtyp),jtyp) = jj-1 ! narea converted to MPI rank 595 ENDIF 596 END DO 597 ENDIF 598 599 END DO 600 601 ! 602 ! Type 5: I-point 603 ! 604 ! ICE point exchanges may involve some averaging. The neighbours list is 605 ! built up using two exchanges to ensure that the whole stencil is covered. 606 ! lrankset should not be reset between these 'J' and 'K' point exchanges 607 608 jtyp = 5 609 lrankset = .FALSE. 610 znnbrs = narea 611 CALL lbc_lnk( znnbrs, 'J', 1. ) ! first ice U-V point 612 613 IF ( njmppt(narea) .EQ. MAXVAL( njmppt ) ) THEN 614 DO jj = nlcj-ijpj+1, nlcj 615 ij = jj - nlcj + ijpj 616 DO ji = 1,jpi 617 IF ( INT(znnbrs(ji,jj)) .NE. 0 .AND. INT(znnbrs(ji,jj)) .NE. narea ) & 618 & lrankset(INT(znnbrs(ji,jj))) = .true. 619 END DO 620 END DO 621 ENDIF 622 623 znnbrs = narea 624 CALL lbc_lnk( znnbrs, 'K', 1. ) ! second ice U-V point 625 626 IF ( njmppt(narea) .EQ. MAXVAL( njmppt )) THEN 627 DO jj = nlcj-ijpj+1, nlcj 628 ij = jj - nlcj + ijpj 629 DO ji = 1,jpi 630 IF ( INT(znnbrs(ji,jj)) .NE. 0 .AND. INT(znnbrs(ji,jj)) .NE. narea ) & 631 & lrankset( INT(znnbrs(ji,jj))) = .true. 632 END DO 633 END DO 634 635 DO jj = 1,jpnij 636 IF ( lrankset(jj) ) THEN 637 nsndto(jtyp) = nsndto(jtyp) + 1 638 IF ( nsndto(jtyp) .GT. jpmaxngh ) THEN 639 CALL ctl_stop( ' Too many neighbours in nemo_northcomms ', & 640 & ' jpmaxngh will need to be increased ') 641 ENDIF 642 isendto(nsndto(jtyp),jtyp) = jj-1 ! narea converted to MPI rank 643 ENDIF 644 END DO 645 ! 646 ! For northern row areas, set l_north_nogather so that all subsequent exchanges 647 ! can use peer to peer communications at the north fold 648 ! 649 l_north_nogather = .TRUE. 650 ! 651 ENDIF 652 DEALLOCATE( znnbrs ) 653 DEALLOCATE( lrankset ) 542 543 !if I am a process in the north 544 IF ( njmpp == njmppmax ) THEN 545 !sxM is the first point (in the global domain) needed to compute the 546 !north-fold for the current process 547 sxM = jpiglo - nimppt(narea) - nlcit(narea) + 1 548 !dxM is the last point (in the global domain) needed to compute the 549 !north-fold for the current process 550 dxM = jpiglo - nimppt(narea) + 2 551 552 !loop over the other north-fold processes to find the processes 553 !managing the points belonging to the sxT-dxT range 554 DO jn = jpnij - jpni +1, jpnij 555 IF ( njmppt(jn) == njmppmax ) THEN 556 !sxT is the first point (in the global domain) of the jn 557 !process 558 sxT = nimppt(jn) 559 !dxT is the last point (in the global domain) of the jn 560 !process 561 dxT = nimppt(jn) + nlcit(jn) - 1 562 IF ((sxM .gt. sxT) .AND. (sxM .lt. dxT)) THEN 563 nsndto = nsndto + 1 564 isendto(nsndto) = jn 565 ELSEIF ((sxM .le. sxT) .AND. (dxM .gt. dxT)) THEN 566 nsndto = nsndto + 1 567 isendto(nsndto) = jn 568 ELSEIF ((dxM .lt. dxT) .AND. (sxT .lt. dxM)) THEN 569 nsndto = nsndto + 1 570 isendto(nsndto) = jn 571 END IF 572 END IF 573 END DO 574 ENDIF 575 l_north_nogather = .TRUE. 654 576 655 577 END SUBROUTINE nemo_northcomms -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/NEMO/OPA_SRC/BDY/bdydta.F90
r3909 r4201 448 448 ln_full_vel = .false. 449 449 ! ... default values (NB: frequency positive => hours, negative => months) 450 ! ! file ! frequency ! variable ! time intep ! clim ! 'yearly' or ! weights ! rotation ! 451 ! ! name ! hours ! name ! (T/F) ! (T/F) ! 'monthly' ! filename ! pairs!452 bn_ssh = FLD_N( 'bdy_ssh' , 24 , 'sossheig' , .false. , .false. , 'yearly' , '' , '')453 bn_u2d = FLD_N( 'bdy_vel2d_u' , 24 , 'vobtcrtx' , .false. , .false. , 'yearly' , '' , '')454 bn_v2d = FLD_N( 'bdy_vel2d_v' , 24 , 'vobtcrty' , .false. , .false. , 'yearly' , '' , '')455 bn_u3d = FLD_N( 'bdy_vel3d_u' , 24 , 'vozocrtx' , .false. , .false. , 'yearly' , '' , '')456 bn_v3d = FLD_N( 'bdy_vel3d_v' , 24 , 'vomecrty' , .false. , .false. , 'yearly' , '' , '')457 bn_tem = FLD_N( 'bdy_tem' , 24 , 'votemper' , .false. , .false. , 'yearly' , '' , '')458 bn_sal = FLD_N( 'bdy_sal' , 24 , 'vosaline' , .false. , .false. , 'yearly' , '' , '')459 #if defined key_lim2 460 bn_frld = FLD_N( 'bdy_frld' , 24 , 'ildsconc' , .false. , .false. , 'yearly' , '' , '')461 bn_hicif = FLD_N( 'bdy_hicif' , 24 , 'iicethic' , .false. , .false. , 'yearly' , '' , '')462 bn_hsnif = FLD_N( 'bdy_hsnif' , 24 , 'isnothic' , .false. , .false. , 'yearly' , '' , '')450 ! ! file ! frequency ! variable ! time intep ! clim ! 'yearly' or ! weights ! rotation ! land/sea mask ! 451 ! ! name ! hours ! name ! (T/F) ! (T/F) ! 'monthly' ! filename ! pairs ! filename ! 452 bn_ssh = FLD_N( 'bdy_ssh' , 24 , 'sossheig' , .false. , .false. , 'yearly' , '' , '' , '' ) 453 bn_u2d = FLD_N( 'bdy_vel2d_u' , 24 , 'vobtcrtx' , .false. , .false. , 'yearly' , '' , '' , '' ) 454 bn_v2d = FLD_N( 'bdy_vel2d_v' , 24 , 'vobtcrty' , .false. , .false. , 'yearly' , '' , '' , '' ) 455 bn_u3d = FLD_N( 'bdy_vel3d_u' , 24 , 'vozocrtx' , .false. , .false. , 'yearly' , '' , '' , '' ) 456 bn_v3d = FLD_N( 'bdy_vel3d_v' , 24 , 'vomecrty' , .false. , .false. , 'yearly' , '' , '' , '' ) 457 bn_tem = FLD_N( 'bdy_tem' , 24 , 'votemper' , .false. , .false. , 'yearly' , '' , '' , '' ) 458 bn_sal = FLD_N( 'bdy_sal' , 24 , 'vosaline' , .false. , .false. , 'yearly' , '' , '' , '' ) 459 #if defined key_lim2 460 bn_frld = FLD_N( 'bdy_frld' , 24 , 'ildsconc' , .false. , .false. , 'yearly' , '' , '' , '' ) 461 bn_hicif = FLD_N( 'bdy_hicif' , 24 , 'iicethic' , .false. , .false. , 'yearly' , '' , '' , '' ) 462 bn_hsnif = FLD_N( 'bdy_hsnif' , 24 , 'isnothic' , .false. , .false. , 'yearly' , '' , '' , '' ) 463 463 #endif 464 464 -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/NEMO/OPA_SRC/DOM/dtatsd.F90
r3294 r4201 72 72 cn_dir = './' ! directory in which the model is executed 73 73 ! ! sn_... default values (NB: frequency positive => hours, negative => months) 74 ! ! file ! frequency ! variable ! time intep ! clim ! 'yearly' or ! weights ! rotation ! 75 ! ! name ! (hours) ! name ! (T/F) ! (T/F) ! 'monthly' ! filename ! pairs ! 76 sn_tem = FLD_N( 'temperature', -1. , 'votemper', .false. , .true. , 'monthly' , '' , '' )77 sn_sal = FLD_N( 'salinity' , -1. , 'vosaline', .false. , .true. , 'monthly' , '' , '' )74 ! ! file ! frequency ! variable ! time intep ! clim ! 'yearly' or ! weights ! rotation ! land/sea mask ! 75 ! ! name ! (hours) ! name ! (T/F) ! (T/F) ! 'monthly' ! filename ! pairs ! filename ! 76 sn_tem = FLD_N( 'temperature', -1. , 'votemper', .false. , .true. , 'monthly' , '' , '' , '' ) 77 sn_sal = FLD_N( 'salinity' , -1. , 'vosaline', .false. , .true. , 'monthly' , '' , '' , '' ) 78 78 79 79 REWIND( numnam ) ! read in namlist namdta_tsd -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/NEMO/OPA_SRC/LBC/lbcnfd.F90
r3294 r4201 5 5 !!====================================================================== 6 6 !! History : 3.2 ! 2009-03 (R. Benshila) Original code 7 !! 3.5 ! 2013-07 (I. Epicoco, S. Mocavero - CMCC) MPP optimization 7 8 !!---------------------------------------------------------------------- 8 9 … … 11 12 !! lbc_nfd_3d : lateral boundary condition: North fold treatment for a 3D arrays (lbc_nfd) 12 13 !! lbc_nfd_2d : lateral boundary condition: North fold treatment for a 2D arrays (lbc_nfd) 14 !! mpp_lbc_nfd_3d : North fold treatment for a 3D arrays optimized for MPP 15 !! mpp_lbc_nfd_2d : North fold treatment for a 2D arrays optimized for MPP 13 16 !!---------------------------------------------------------------------- 14 17 USE dom_oce ! ocean space and time domain … … 23 26 24 27 PUBLIC lbc_nfd ! north fold conditions 28 INTERFACE mpp_lbc_nfd 29 MODULE PROCEDURE mpp_lbc_nfd_3d, mpp_lbc_nfd_2d 30 END INTERFACE 31 32 PUBLIC mpp_lbc_nfd ! north fold conditions in parallel case 33 34 INTEGER, PUBLIC, PARAMETER :: jpmaxngh = 3 35 INTEGER, PUBLIC :: nsndto 36 INTEGER, PUBLIC, DIMENSION (jpmaxngh) :: isendto ! processes to which communicate 37 38 25 39 26 40 !!---------------------------------------------------------------------- … … 342 356 END SUBROUTINE lbc_nfd_2d 343 357 344 !!====================================================================== 358 359 SUBROUTINE mpp_lbc_nfd_3d( pt3dl, pt3dr, cd_type, psgn ) 360 !!---------------------------------------------------------------------- 361 !! *** routine mpp_lbc_nfd_3d *** 362 !! 363 !! ** Purpose : 3D lateral boundary condition : North fold treatment 364 !! without processor exchanges. 365 !! 366 !! ** Method : 367 !! 368 !! ** Action : pt3d with updated values along the north fold 369 !!---------------------------------------------------------------------- 370 CHARACTER(len=1) , INTENT(in ) :: cd_type ! define the nature of ptab array grid-points 371 ! ! = T , U , V , F , W points 372 REAL(wp) , INTENT(in ) :: psgn ! control of the sign change 373 ! ! = -1. , the sign is changed if north fold boundary 374 ! ! = 1. , the sign is kept if north fold boundary 375 REAL(wp), DIMENSION(:,:,:), INTENT(inout) :: pt3dl ! 3D array on which the boundary condition is applied 376 REAL(wp), DIMENSION(:,:,:), INTENT(in) :: pt3dr ! 3D array on which the boundary condition is applied 377 ! 378 INTEGER :: ji, jk 379 INTEGER :: ijt, iju, ijpj, ijpjm1, ijta, ijua, jia, startloop, endloop 380 !!---------------------------------------------------------------------- 381 382 SELECT CASE ( jpni ) 383 CASE ( 1 ) ; ijpj = nlcj ! 1 proc only along the i-direction 384 CASE DEFAULT ; ijpj = 4 ! several proc along the i-direction 385 END SELECT 386 ijpjm1 = ijpj-1 387 388 ! 389 SELECT CASE ( npolj ) 390 ! 391 CASE ( 3 , 4 ) ! * North fold T-point pivot 392 ! 393 SELECT CASE ( cd_type ) 394 CASE ( 'T' , 'W' ) ! T-, W-point 395 IF (narea .ne. (jpnij - jpni + 1)) THEN 396 startloop = 1 397 ELSE 398 startloop = 2 399 ENDIF 400 401 DO jk = 1, jpk 402 DO ji = startloop, nlci 403 ijt = jpiglo - ji - nimpp - nimppt(isendto(1)) + 4 404 pt3dl(ji,ijpj,jk) = psgn * pt3dr(ijt,ijpj-2,jk) 405 END DO 406 END DO 407 408 IF(nimpp .ge. (jpiglo/2+1)) THEN 409 startloop = 1 410 ELSEIF(((nimpp+nlci-1) .ge. (jpiglo/2+1)) .AND. (nimpp .lt. (jpiglo/2+1))) THEN 411 startloop = jpiglo/2+1 - nimpp + 1 412 ELSE 413 startloop = nlci + 1 414 ENDIF 415 IF(startloop .le. nlci) THEN 416 DO jk = 1, jpk 417 DO ji = startloop, nlci 418 ijt = jpiglo - ji - nimpp - nimppt(isendto(1)) + 4 419 jia = ji + nimpp - 1 420 ijta = jpiglo - jia + 2 421 IF((ijta .ge. (startloop + nimpp - 1)) .and. (ijta .lt. jia)) THEN 422 pt3dl(ji,ijpjm1,jk) = psgn * pt3dl(ijta-nimpp+1,ijpjm1,jk) 423 ELSE 424 pt3dl(ji,ijpjm1,jk) = psgn * pt3dr(ijt,ijpjm1,jk) 425 ENDIF 426 END DO 427 END DO 428 ENDIF 429 430 431 432 CASE ( 'U' ) ! U-point 433 IF (narea .ne. (jpnij)) THEN 434 endloop = nlci 435 ELSE 436 endloop = nlci - 1 437 ENDIF 438 DO jk = 1, jpk 439 DO ji = 1, endloop 440 iju = jpiglo - ji - nimpp - nimppt(isendto(1)) + 3 441 pt3dl(ji,ijpj,jk) = psgn * pt3dr(iju,ijpj-2,jk) 442 END DO 443 END DO 444 445 IF (narea .ne. (jpnij)) THEN 446 endloop = nlci 447 ELSE 448 endloop = nlci - 1 449 ENDIF 450 IF(nimpp .ge. (jpiglo/2)) THEN 451 startloop = 1 452 ELSEIF(((nimpp+nlci-1) .ge. (jpiglo/2)) .AND. (nimpp .lt. (jpiglo/2))) THEN 453 startloop = jpiglo/2 - nimpp + 1 454 ELSE 455 startloop = endloop + 1 456 ENDIF 457 IF (startloop .le. endloop) THEN 458 DO jk = 1, jpk 459 DO ji = startloop, endloop 460 iju = jpiglo - ji - nimpp - nimppt(isendto(1)) + 3 461 jia = ji + nimpp - 1 462 ijua = jpiglo - jia + 1 463 IF((ijua .ge. (startloop + nimpp - 1)) .and. (ijua .lt. jia)) THEN 464 pt3dl(ji,ijpjm1,jk) = psgn * pt3dl(ijua-nimpp+1,ijpjm1,jk) 465 ELSE 466 pt3dl(ji,ijpjm1,jk) = psgn * pt3dr(iju,ijpjm1,jk) 467 ENDIF 468 END DO 469 END DO 470 ENDIF 471 472 CASE ( 'V' ) ! V-point 473 IF (narea .ne. (jpnij - jpni + 1)) THEN 474 startloop = 1 475 ELSE 476 startloop = 2 477 ENDIF 478 DO jk = 1, jpk 479 DO ji = startloop, nlci 480 ijt = jpiglo - ji - nimpp - nimppt(isendto(1)) + 4 481 pt3dl(ji,ijpj-1,jk) = psgn * pt3dr(ijt,ijpj-2,jk) 482 pt3dl(ji,ijpj ,jk) = psgn * pt3dr(ijt,ijpj-3,jk) 483 END DO 484 END DO 485 CASE ( 'F' ) ! F-point 486 IF (narea .ne. (jpnij)) THEN 487 endloop = nlci 488 ELSE 489 endloop = nlci - 1 490 ENDIF 491 DO jk = 1, jpk 492 DO ji = 1, endloop 493 iju = jpiglo - ji - nimpp - nimppt(isendto(1)) + 3 494 pt3dl(ji,ijpj-1,jk) = psgn * pt3dr(iju,ijpj-2,jk) 495 pt3dl(ji,ijpj ,jk) = psgn * pt3dr(iju,ijpj-3,jk) 496 END DO 497 END DO 498 END SELECT 499 ! 500 501 CASE ( 5 , 6 ) ! * North fold F-point pivot 502 ! 503 SELECT CASE ( cd_type ) 504 CASE ( 'T' , 'W' ) ! T-, W-point 505 DO jk = 1, jpk 506 DO ji = 1, nlci 507 ijt = jpiglo - ji - nimpp - nimppt(isendto(1)) + 3 508 pt3dl(ji,ijpj,jk) = psgn * pt3dr(ijt,ijpj-1,jk) 509 END DO 510 END DO 511 512 CASE ( 'U' ) ! U-point 513 IF (narea .ne. (jpnij)) THEN 514 endloop = nlci 515 ELSE 516 endloop = nlci - 1 517 ENDIF 518 DO jk = 1, jpk 519 DO ji = 1, endloop 520 iju = jpiglo - ji - nimpp - nimppt(isendto(1)) + 2 521 pt3dl(ji,ijpj,jk) = psgn * pt3dr(iju,ijpj-1,jk) 522 END DO 523 END DO 524 525 CASE ( 'V' ) ! V-point 526 DO jk = 1, jpk 527 DO ji = 1, nlci 528 ijt = jpiglo - ji- nimpp - nimppt(isendto(1)) + 3 529 pt3dl(ji,ijpj,jk) = psgn * pt3dr(ijt,ijpj-2,jk) 530 END DO 531 END DO 532 533 IF(nimpp .ge. (jpiglo/2+1)) THEN 534 startloop = 1 535 ELSEIF(((nimpp+nlci-1) .ge. (jpiglo/2+1)) .AND. (nimpp .lt. (jpiglo/2+1))) THEN 536 startloop = jpiglo/2+1 - nimpp + 1 537 ELSE 538 startloop = nlci + 1 539 ENDIF 540 IF(startloop .le. nlci) THEN 541 DO jk = 1, jpk 542 DO ji = startloop, nlci 543 ijt = jpiglo - ji - nimpp - nimppt(isendto(1)) + 3 544 pt3dl(ji,ijpjm1,jk) = psgn * pt3dr(ijt,ijpjm1,jk) 545 END DO 546 END DO 547 ENDIF 548 549 CASE ( 'F' ) ! F-point 550 IF (narea .ne. (jpnij)) THEN 551 endloop = nlci 552 ELSE 553 endloop = nlci - 1 554 ENDIF 555 DO jk = 1, jpk 556 DO ji = 1, endloop 557 iju = jpiglo - ji - nimpp - nimppt(isendto(1)) + 2 558 pt3dl(ji,ijpj ,jk) = psgn * pt3dr(iju,ijpj-2,jk) 559 END DO 560 END DO 561 562 IF (narea .ne. (jpnij)) THEN 563 endloop = nlci 564 ELSE 565 endloop = nlci - 1 566 ENDIF 567 IF(nimpp .ge. (jpiglo/2+1)) THEN 568 startloop = 1 569 ELSEIF(((nimpp+nlci-1) .ge. (jpiglo/2+1)) .AND. (nimpp .lt. (jpiglo/2+1))) THEN 570 startloop = jpiglo/2+1 - nimpp + 1 571 ELSE 572 startloop = endloop + 1 573 ENDIF 574 IF (startloop .le. endloop) THEN 575 DO jk = 1, jpk 576 DO ji = startloop, endloop 577 iju = jpiglo - ji - nimpp - nimppt(isendto(1)) + 2 578 pt3dl(ji,ijpjm1,jk) = psgn * pt3dr(iju,ijpjm1,jk) 579 END DO 580 END DO 581 ENDIF 582 583 END SELECT 584 585 CASE DEFAULT ! * closed : the code probably never go through 586 ! 587 SELECT CASE ( cd_type) 588 CASE ( 'T' , 'U' , 'V' , 'W' ) ! T-, U-, V-, W-points 589 pt3dl(:, 1 ,jk) = 0.e0 590 pt3dl(:,ijpj,jk) = 0.e0 591 CASE ( 'F' ) ! F-point 592 pt3dl(:,ijpj,jk) = 0.e0 593 END SELECT 594 ! 595 END SELECT ! npolj 596 ! 597 ! 598 END SUBROUTINE mpp_lbc_nfd_3d 599 600 601 SUBROUTINE mpp_lbc_nfd_2d( pt2dl, pt2dr, cd_type, psgn ) 602 !!---------------------------------------------------------------------- 603 !! *** routine mpp_lbc_nfd_2d *** 604 !! 605 !! ** Purpose : 2D lateral boundary condition : North fold treatment 606 !! without processor exchanges. 607 !! 608 !! ** Method : 609 !! 610 !! ** Action : pt2d with updated values along the north fold 611 !!---------------------------------------------------------------------- 612 CHARACTER(len=1) , INTENT(in ) :: cd_type ! define the nature of ptab array grid-points 613 ! ! = T , U , V , F , W points 614 REAL(wp) , INTENT(in ) :: psgn ! control of the sign change 615 ! ! = -1. , the sign is changed if north fold boundary 616 ! ! = 1. , the sign is kept if north fold boundary 617 REAL(wp), DIMENSION(:,:), INTENT(inout) :: pt2dl ! 2D array on which the boundary condition is applied 618 REAL(wp), DIMENSION(:,:), INTENT(in) :: pt2dr ! 2D array on which the boundary condition is applied 619 ! 620 INTEGER :: ji 621 INTEGER :: ijt, iju, ijpj, ijpjm1, ijta, ijua, jia, startloop, endloop 622 !!---------------------------------------------------------------------- 623 624 SELECT CASE ( jpni ) 625 CASE ( 1 ) ; ijpj = nlcj ! 1 proc only along the i-direction 626 CASE DEFAULT ; ijpj = 4 ! several proc along the i-direction 627 END SELECT 628 ! 629 ijpjm1 = ijpj-1 630 631 632 SELECT CASE ( npolj ) 633 ! 634 CASE ( 3, 4 ) ! * North fold T-point pivot 635 ! 636 SELECT CASE ( cd_type ) 637 ! 638 CASE ( 'T' , 'W' ) ! T- , W-points 639 IF (narea .ne. (jpnij - jpni + 1)) THEN 640 startloop = 1 641 ELSE 642 startloop = 2 643 ENDIF 644 DO ji = startloop, nlci 645 ijt=jpiglo - ji - nimpp - nimppt(isendto(1)) + 4 646 pt2dl(ji,ijpj) = psgn * pt2dr(ijt,ijpjm1-1) 647 END DO 648 649 IF(nimpp .ge. (jpiglo/2+1)) THEN 650 startloop = 1 651 ELSEIF(((nimpp+nlci-1) .ge. (jpiglo/2+1)) .AND. (nimpp .lt. (jpiglo/2+1))) THEN 652 startloop = jpiglo/2+1 - nimpp + 1 653 ELSE 654 startloop = nlci + 1 655 ENDIF 656 DO ji = startloop, nlci 657 ijt=jpiglo - ji - nimpp - nimppt(isendto(1)) + 4 658 jia = ji + nimpp - 1 659 ijta = jpiglo - jia + 2 660 IF((ijta .ge. (startloop + nimpp - 1)) .and. (ijta .lt. jia)) THEN 661 pt2dl(ji,ijpjm1) = psgn * pt2dl(ijta-nimpp+1,ijpjm1) 662 ELSE 663 pt2dl(ji,ijpjm1) = psgn * pt2dr(ijt,ijpjm1) 664 ENDIF 665 END DO 666 667 CASE ( 'U' ) ! U-point 668 IF (narea .ne. (jpnij)) THEN 669 endloop = nlci 670 ELSE 671 endloop = nlci - 1 672 ENDIF 673 DO ji = 1, endloop 674 iju = jpiglo - ji - nimpp - nimppt(isendto(1)) + 3 675 pt2dl(ji,ijpj) = psgn * pt2dr(iju,ijpjm1-1) 676 END DO 677 678 IF (narea .ne. (jpnij)) THEN 679 endloop = nlci 680 ELSE 681 endloop = nlci - 1 682 ENDIF 683 IF(nimpp .ge. (jpiglo/2)) THEN 684 startloop = 1 685 ELSEIF(((nimpp+nlci-1) .ge. (jpiglo/2)) .AND. (nimpp .lt. (jpiglo/2))) THEN 686 startloop = jpiglo/2 - nimpp + 1 687 ELSE 688 startloop = endloop + 1 689 ENDIF 690 DO ji = startloop, endloop 691 iju = jpiglo - ji - nimpp - nimppt(isendto(1)) + 3 692 jia = ji + nimpp - 1 693 ijua = jpiglo - jia + 1 694 IF((ijua .ge. (startloop + nimpp - 1)) .and. (ijua .lt. jia)) THEN 695 pt2dl(ji,ijpjm1) = psgn * pt2dl(ijua-nimpp+1,ijpjm1) 696 ELSE 697 pt2dl(ji,ijpjm1) = psgn * pt2dr(iju,ijpjm1) 698 ENDIF 699 END DO 700 701 CASE ( 'V' ) ! V-point 702 IF (narea .ne. (jpnij - jpni + 1)) THEN 703 startloop = 1 704 ELSE 705 startloop = 2 706 ENDIF 707 DO ji = startloop, nlci 708 ijt=jpiglo - ji - nimpp - nimppt(isendto(1)) + 4 709 pt2dl(ji,ijpjm1) = psgn * pt2dr(ijt,ijpjm1-1) 710 pt2dl(ji,ijpj) = psgn * pt2dr(ijt,ijpjm1-2) 711 END DO 712 713 CASE ( 'F' ) ! F-point 714 IF (narea .ne. (jpnij)) THEN 715 endloop = nlci 716 ELSE 717 endloop = nlci - 1 718 ENDIF 719 DO ji = 1, endloop 720 iju = jpiglo - ji - nimpp - nimppt(isendto(1)) + 3 721 pt2dl(ji,ijpjm1) = psgn * pt2dr(iju,ijpjm1-1) 722 pt2dl(ji,ijpj) = psgn * pt2dr(iju,ijpjm1-2) 723 END DO 724 725 CASE ( 'I' ) ! ice U-V point (I-point) 726 IF (narea .ne. (jpnij - jpni + 1)) THEN 727 startloop = 1 728 ELSE 729 startloop = 3 730 pt2dl(2,ijpj) = psgn * pt2dr(3,ijpjm1) 731 ENDIF 732 DO ji = startloop, nlci 733 iju = jpiglo - ji - nimpp - nimppt(isendto(1)) + 5 734 pt2dl(ji,ijpj) = psgn * pt2dr(iju,ijpjm1) 735 END DO 736 737 CASE ( 'J' ) ! first ice U-V point 738 IF (narea .ne. (jpnij - jpni + 1)) THEN 739 startloop = 1 740 ELSE 741 startloop = 3 742 pt2dl(2,ijpj) = psgn * pt2dr(3,ijpjm1) 743 ENDIF 744 DO ji = startloop, nlci 745 iju = jpiglo - ji - nimpp - nimppt(isendto(1)) + 5 746 pt2dl(ji,ijpj) = psgn * pt2dr(iju,ijpjm1) 747 END DO 748 749 CASE ( 'K' ) ! second ice U-V point 750 IF (narea .ne. (jpnij - jpni + 1)) THEN 751 startloop = 1 752 ELSE 753 startloop = 3 754 pt2dl(2,ijpj) = psgn * pt2dr(3,ijpjm1) 755 ENDIF 756 DO ji = startloop, nlci 757 iju = jpiglo - ji - nimpp - nimppt(isendto(1)) + 5 758 pt2dl(ji,ijpj) = psgn * pt2dr(iju,ijpjm1) 759 END DO 760 761 END SELECT 762 ! 763 CASE ( 5, 6 ) ! * North fold F-point pivot 764 ! 765 SELECT CASE ( cd_type ) 766 CASE ( 'T' , 'W' ) ! T-, W-point 767 DO ji = 1, nlci 768 ijt = jpiglo - ji - nimpp - nimppt(isendto(1)) + 3 769 pt2dl(ji,ijpj) = psgn * pt2dr(ijt,ijpjm1) 770 END DO 771 772 CASE ( 'U' ) ! U-point 773 IF (narea .ne. (jpnij)) THEN 774 endloop = nlci 775 ELSE 776 endloop = nlci - 1 777 ENDIF 778 DO ji = 1, endloop 779 iju = jpiglo - ji - nimpp - nimppt(isendto(1)) + 2 780 pt2dl(ji,ijpj) = psgn * pt2dr(iju,ijpjm1) 781 END DO 782 783 CASE ( 'V' ) ! V-point 784 DO ji = 1, nlci 785 ijt = jpiglo - ji - nimpp - nimppt(isendto(1)) + 3 786 pt2dl(ji,ijpj) = psgn * pt2dr(ijt,ijpjm1-1) 787 END DO 788 IF(nimpp .ge. (jpiglo/2+1)) THEN 789 startloop = 1 790 ELSEIF(((nimpp+nlci-1) .ge. (jpiglo/2+1)) .AND. (nimpp .lt. (jpiglo/2+1))) THEN 791 startloop = jpiglo/2+1 - nimpp + 1 792 ELSE 793 startloop = nlci + 1 794 ENDIF 795 DO ji = startloop, nlci 796 ijt = jpiglo - ji - nimpp - nimppt(isendto(1)) + 3 797 pt2dl(ji,ijpjm1) = psgn * pt2dr(ijt,ijpjm1) 798 END DO 799 800 CASE ( 'F' ) ! F-point 801 IF (narea .ne. (jpnij)) THEN 802 endloop = nlci 803 ELSE 804 endloop = nlci - 1 805 ENDIF 806 DO ji = 1, endloop 807 iju = jpiglo - ji - nimpp - nimppt(isendto(1)) + 2 808 pt2dl(ji,ijpj) = psgn * pt2dr(iju,ijpjm1-1) 809 END DO 810 811 IF (narea .ne. (jpnij)) THEN 812 endloop = nlci 813 ELSE 814 endloop = nlci - 1 815 ENDIF 816 IF(nimpp .ge. (jpiglo/2+1)) THEN 817 startloop = 1 818 ELSEIF(((nimpp+nlci-1) .ge. (jpiglo/2+1)) .AND. (nimpp .lt. (jpiglo/2+1))) THEN 819 startloop = jpiglo/2+1 - nimpp + 1 820 ELSE 821 startloop = endloop + 1 822 ENDIF 823 824 DO ji = startloop, endloop 825 iju = jpiglo - ji - nimpp - nimppt(isendto(1)) + 2 826 pt2dl(ji,ijpjm1) = psgn * pt2dr(iju,ijpjm1) 827 END DO 828 829 CASE ( 'I' ) ! ice U-V point (I-point) 830 IF (narea .ne. (jpnij - jpni + 1)) THEN 831 startloop = 1 832 ELSE 833 startloop = 2 834 ENDIF 835 IF (narea .ne. jpnij) THEN 836 endloop = nlci 837 ELSE 838 endloop = nlci - 1 839 ENDIF 840 DO ji = startloop , endloop 841 ijt = jpiglo - ji - nimpp - nimppt(isendto(1)) + 4 842 pt2dl(ji,ijpj)= 0.5 * (pt2dr(ji,ijpjm1) + psgn * pt2dr(ijt,ijpjm1)) 843 END DO 844 845 CASE ( 'J' ) ! first ice U-V point 846 IF (narea .ne. (jpnij - jpni + 1)) THEN 847 startloop = 1 848 ELSE 849 startloop = 2 850 ENDIF 851 IF (narea .ne. jpnij) THEN 852 endloop = nlci 853 ELSE 854 endloop = nlci - 1 855 ENDIF 856 DO ji = startloop , endloop 857 ijt = jpiglo - ji - nimpp - nimppt(isendto(1)) + 4 858 pt2dl(ji,ijpj) = pt2dr(ji,ijpjm1) 859 END DO 860 861 CASE ( 'K' ) ! second ice U-V point 862 IF (narea .ne. (jpnij - jpni + 1)) THEN 863 startloop = 1 864 ELSE 865 startloop = 2 866 ENDIF 867 IF (narea .ne. jpnij) THEN 868 endloop = nlci 869 ELSE 870 endloop = nlci - 1 871 ENDIF 872 DO ji = startloop, endloop 873 ijt = jpiglo - ji - nimpp - nimppt(isendto(1)) + 4 874 pt2dl(ji,ijpj) = pt2dr(ijt,ijpjm1) 875 END DO 876 877 END SELECT 878 ! 879 CASE DEFAULT ! * closed : the code probably never go through 880 ! 881 SELECT CASE ( cd_type) 882 CASE ( 'T' , 'U' , 'V' , 'W' ) ! T-, U-, V-, W-points 883 pt2dl(:, 1 ) = 0.e0 884 pt2dl(:,ijpj) = 0.e0 885 CASE ( 'F' ) ! F-point 886 pt2dl(:,ijpj) = 0.e0 887 CASE ( 'I' ) ! ice U-V point 888 pt2dl(:, 1 ) = 0.e0 889 pt2dl(:,ijpj) = 0.e0 890 CASE ( 'J' ) ! first ice U-V point 891 pt2dl(:, 1 ) = 0.e0 892 pt2dl(:,ijpj) = 0.e0 893 CASE ( 'K' ) ! second ice U-V point 894 pt2dl(:, 1 ) = 0.e0 895 pt2dl(:,ijpj) = 0.e0 896 END SELECT 897 ! 898 END SELECT 899 ! 900 END SUBROUTINE mpp_lbc_nfd_2d 901 345 902 END MODULE lbcnfd -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/NEMO/OPA_SRC/LBC/lib_mpp.F90
r4047 r4201 22 22 !! 'mpp_lnk_bdy_2d' and 'mpp_lnk_obc_2d' routines and update 23 23 !! the mppobc routine to optimize the BDY and OBC communications 24 !! 3.5 ! 2013 (S.Mocavero, I.Epicoco - CMCC) north fold optimizations 24 25 !!---------------------------------------------------------------------- 25 26 … … 165 166 REAL(wp), DIMENSION(:,:,:,:), ALLOCATABLE, SAVE :: xnorthgloio 166 167 REAL(wp), DIMENSION(:,:,:) , ALLOCATABLE, SAVE :: foldwk ! Workspace for message transfers avoiding mpi_allgather 168 REAL(wp), DIMENSION(:,:,:) , ALLOCATABLE, SAVE :: ztabl_3d 169 REAL(wp), DIMENSION(:,:,:) , ALLOCATABLE, SAVE :: ztabr_3d 167 170 168 171 ! Arrays used in mpp_lbc_north_2d() … … 170 173 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, SAVE :: xnorthgloio_2d 171 174 REAL(wp), DIMENSION(:,:) , ALLOCATABLE, SAVE :: foldwk_2d ! Workspace for message transfers avoiding mpi_allgather 175 REAL(wp), DIMENSION(:,:) , ALLOCATABLE, SAVE :: ztabl_2d 176 REAL(wp), DIMENSION(:,:) , ALLOCATABLE, SAVE :: ztabr_2d 172 177 173 178 ! Arrays used in mpp_lbc_north_e() … … 175 180 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, SAVE :: xnorthgloio_e 176 181 177 ! North fold arrays used to minimise the use of allgather operations. Set in nemo_northcomms (nemogcm) so need to be public178 INTEGER, PUBLIC, PARAMETER :: jpmaxngh = 8 ! Assumed maximum number of active neighbours179 INTEGER, PUBLIC, PARAMETER :: jptyps = 5 ! Number of different neighbour lists to be used for northfold exchanges180 INTEGER, PUBLIC, DIMENSION (jpmaxngh,jptyps) :: isendto181 INTEGER, PUBLIC, DIMENSION (jptyps) :: nsndto182 182 LOGICAL, PUBLIC :: ln_nnogather = .FALSE. ! namelist control of northfold comms 183 183 LOGICAL, PUBLIC :: l_north_nogather = .FALSE. ! internal control of northfold comms … … 214 214 ! 215 215 & tab_e(jpiglo,4+2*jpr2dj) , xnorthloc_e(jpi,4+2*jpr2dj) , xnorthgloio_e(jpi,4+2*jpr2dj,jpni) , & 216 ! 217 & ztabl_3d(jpi,4,jpk), ztabr_3d(jpi*jpmaxngh, 4, jpk), ztabl_2d(jpi,4), ztabr_2d(jpi*jpmaxngh, 4), & 216 218 ! 217 219 & STAT=lib_mpp_alloc ) … … 2585 2587 CHARACTER(len=1) , INTENT(in ) :: cd_type ! nature of pt3d grid-points 2586 2588 ! ! = T , U , V , F or W gridpoints 2587 REAL(wp) , INTENT(in ) :: psgn ! = -1. the sign change across the north fold 2589 REAL(wp) , INTENT(in ) :: psgn ! = -1. the sign change across the north fold 2588 2590 !! ! = 1. , the sign is kept 2589 INTEGER :: ji, jj, jr 2591 INTEGER :: ji, jj, jr, jk 2590 2592 INTEGER :: ierr, itaille, ildi, ilei, iilb 2591 2593 INTEGER :: ijpj, ijpjm1, ij, iproc 2592 INTEGER, DIMENSION (jpmaxngh) :: ml_req_nf !for mpi_isend when avoiding mpi_allgather2594 INTEGER, DIMENSION (jpmaxngh) :: ml_req_nf !for mpi_isend when avoiding mpi_allgather 2593 2595 INTEGER :: ml_err ! for mpi_isend when avoiding mpi_allgather 2594 2596 INTEGER, DIMENSION(MPI_STATUS_SIZE) :: ml_stat ! for mpi_isend when avoiding mpi_allgather 2595 !!---------------------------------------------------------------------- 2596 ! 2597 INTEGER :: istatus(mpi_status_size) 2598 INTEGER :: iflag 2599 !!---------------------------------------------------------------------- 2600 ! 2601 2597 2602 ijpj = 4 2598 ityp = -12599 2603 ijpjm1 = 3 2600 tab_3d(:,:,:) = 0.e0 2601 ! 2602 DO jj = nlcj - ijpj +1, nlcj ! put in xnorthloc the last 4 jlines of pt3d 2603 ij = jj - nlcj + ijpj 2604 xnorthloc(:,ij,:) = pt3d(:,jj,:) 2604 ! 2605 DO jk = 1, jpk 2606 DO jj = nlcj - ijpj +1, nlcj ! put in xnorthloc the last 4 jlines of pt3d 2607 ij = jj - nlcj + ijpj 2608 xnorthloc(:,ij,jk) = pt3d(:,jj,jk) 2609 END DO 2605 2610 END DO 2606 2611 ! 2607 2612 ! ! Build in procs of ncomm_north the xnorthgloio 2608 2613 itaille = jpi * jpk * ijpj 2614 2615 2609 2616 IF ( l_north_nogather ) THEN 2610 2617 ! 2611 ! Avoid the use of mpi_allgather by exchanging only with the processes already identified 2618 ! Avoid the use of mpi_allgather by exchanging only with the processes already identified 2612 2619 ! (in nemo_northcomms) as being involved in this process' northern boundary exchange 2613 2620 ! 2614 DO jj = nlcj-ijpj+1, nlcj ! First put local values into the global array 2615 ij = jj - nlcj + ijpj 2616 DO ji = 1, nlci 2617 tab_3d(ji+nimpp-1,ij,:) = pt3d(ji,jj,:) 2618 END DO 2619 END DO 2620 2621 ! 2622 ! Set the exchange type in order to access the correct list of active neighbours 2623 ! 2624 SELECT CASE ( cd_type ) 2625 CASE ( 'T' , 'W' ) 2626 ityp = 1 2627 CASE ( 'U' ) 2628 ityp = 2 2629 CASE ( 'V' ) 2630 ityp = 3 2631 CASE ( 'F' ) 2632 ityp = 4 2633 CASE ( 'I' ) 2634 ityp = 5 2635 CASE DEFAULT 2636 ityp = -1 ! Set a default value for unsupported types which 2637 ! will cause a fallback to the mpi_allgather method 2638 END SELECT 2639 IF ( ityp .gt. 0 ) THEN 2640 2641 DO jr = 1,nsndto(ityp) 2642 CALL mppsend(5, xnorthloc, itaille, isendto(jr,ityp), ml_req_nf(jr) ) 2643 END DO 2644 DO jr = 1,nsndto(ityp) 2645 CALL mpprecv(5, foldwk, itaille, isendto(jr,ityp)) 2646 iproc = isendto(jr,ityp) + 1 2647 ildi = nldit (iproc) 2648 ilei = nleit (iproc) 2649 iilb = nimppt(iproc) 2650 DO jj = 1, ijpj 2651 DO ji = ildi, ilei 2652 tab_3d(ji+iilb-1,jj,:) = foldwk(ji,jj,:) 2653 END DO 2621 2622 ztabr_3d(:,:,:) = 0 2623 2624 DO jk = 1, jpk 2625 DO jj = nlcj-ijpj+1, nlcj ! First put local values into the global array 2626 ij = jj - nlcj + ijpj 2627 DO ji = 1, nlci 2628 ztabl_3d(ji,ij,jk) = pt3d(ji,jj,jk) 2654 2629 END DO 2655 2630 END DO 2656 IF (l_isend) THEN 2657 DO jr = 1,nsndto(ityp) 2658 CALL mpi_wait(ml_req_nf(jr), ml_stat, ml_err) 2631 END DO 2632 2633 DO jr = 1,nsndto 2634 IF (isendto(jr) .ne. narea) CALL mppsend(5, xnorthloc, itaille, isendto(jr)-1, ml_req_nf(jr)) 2635 END DO 2636 DO jr = 1,nsndto 2637 iproc = isendto(jr) 2638 ildi = nldit (iproc) 2639 ilei = nleit (iproc) 2640 iilb = nimppt(isendto(jr)) - nimppt(isendto(1)) 2641 IF(isendto(jr) .ne. narea) THEN 2642 CALL mpprecv(5, foldwk, itaille, isendto(jr)-1) 2643 DO jk = 1, jpk 2644 DO jj = 1, ijpj 2645 DO ji = 1, ilei 2646 ztabr_3d(iilb+ji,jj,jk) = foldwk(ji,jj,jk) 2647 END DO 2648 END DO 2649 END DO 2650 ELSE 2651 DO jk = 1, jpk 2652 DO jj = 1, ijpj 2653 DO ji = 1, ilei 2654 ztabr_3d(iilb+ji,jj,jk) = pt3d(ji,nlcj-ijpj+jj,jk) 2655 END DO 2656 END DO 2657 END DO 2658 ENDIF 2659 END DO 2660 IF (l_isend) THEN 2661 DO jr = 1,nsndto 2662 IF (isendto(jr) .ne. narea) CALL mpi_wait(ml_req_nf(jr), ml_stat, ml_err) 2663 END DO 2664 ENDIF 2665 CALL mpp_lbc_nfd( ztabl_3d, ztabr_3d, cd_type, psgn ) ! North fold boundary condition 2666 ! 2667 DO jk=1, jpk 2668 DO jj = nlcj-ijpj+1, nlcj ! Scatter back to pt3d 2669 ij = jj - nlcj + ijpj 2670 DO ji= 1, nlci 2671 pt3d(ji,jj,jk) = ztabl_3d(ji,ij,jk) 2659 2672 END DO 2660 ENDIF 2661 2662 ENDIF 2663 2664 ENDIF 2665 2666 IF ( ityp .lt. 0 ) THEN 2673 END DO 2674 END DO 2675 ! 2676 2677 ELSE 2667 2678 CALL MPI_ALLGATHER( xnorthloc , itaille, MPI_DOUBLE_PRECISION, & 2668 2679 & xnorthgloio, itaille, MPI_DOUBLE_PRECISION, ncomm_north, ierr ) … … 2673 2684 ilei = nleit (iproc) 2674 2685 iilb = nimppt(iproc) 2675 DO jj = 1, ijpj 2676 DO ji = ildi, ilei 2677 tab_3d(ji+iilb-1,jj,:) = xnorthgloio(ji,jj,:,jr) 2686 DO jk=1, jpk 2687 DO jj = 1, ijpj 2688 DO ji = ildi, ilei 2689 tab_3d(ji+iilb-1,jj,jk) = xnorthgloio(ji,jj,jk,jr) 2690 END DO 2678 2691 END DO 2679 2692 END DO 2680 2693 END DO 2681 ENDIF 2682 ! 2683 ! The tab_3d array has been either: 2684 ! a. Fully populated by the mpi_allgather operation or 2685 ! b. Had the active points for this domain and northern neighbours populated 2686 ! by peer to peer exchanges 2687 ! Either way the array may be folded by lbc_nfd and the result for the span of 2688 ! this domain will be identical. 2689 ! 2690 CALL lbc_nfd( tab_3d, cd_type, psgn ) ! North fold boundary condition 2691 ! 2692 DO jj = nlcj-ijpj+1, nlcj ! Scatter back to pt3d 2693 ij = jj - nlcj + ijpj 2694 DO ji= 1, nlci 2695 pt3d(ji,jj,:) = tab_3d(ji+nimpp-1,ij,:) 2696 END DO 2697 END DO 2698 ! 2694 CALL lbc_nfd( tab_3d, cd_type, psgn ) ! North fold boundary condition 2695 ! 2696 DO jk=1, jpk 2697 DO jj = nlcj-ijpj+1, nlcj ! Scatter back to pt3d 2698 ij = jj - nlcj + ijpj 2699 DO ji= 1, nlci 2700 pt3d(ji,jj,jk) = tab_3d(ji+nimpp-1,ij,jk) 2701 END DO 2702 END DO 2703 END DO 2704 ! 2705 ENDIF 2706 2699 2707 END SUBROUTINE mpp_lbc_north_3d 2700 2708 … … 2714 2722 !! 2715 2723 !!---------------------------------------------------------------------- 2716 REAL(wp), DIMENSION(jpi,jpj), INTENT(inout) :: pt2d ! 3D array on which the b.c. is applied2717 CHARACTER(len=1) , INTENT(in ) :: cd_type ! nature of pt 3d grid-points2724 REAL(wp), DIMENSION(jpi,jpj), INTENT(inout) :: pt2d ! 2D array on which the b.c. is applied 2725 CHARACTER(len=1) , INTENT(in ) :: cd_type ! nature of pt2d grid-points 2718 2726 ! ! = T , U , V , F or W gridpoints 2719 REAL(wp) , INTENT(in ) :: psgn ! = -1. the sign change across the north fold 2727 REAL(wp) , INTENT(in ) :: psgn ! = -1. the sign change across the north fold 2720 2728 !! ! = 1. , the sign is kept 2721 2729 INTEGER :: ji, jj, jr 2722 2730 INTEGER :: ierr, itaille, ildi, ilei, iilb 2723 2731 INTEGER :: ijpj, ijpjm1, ij, iproc 2724 INTEGER, DIMENSION (jpmaxngh) :: ml_req_nf ! 2732 INTEGER, DIMENSION (jpmaxngh) :: ml_req_nf !for mpi_isend when avoiding mpi_allgather 2725 2733 INTEGER :: ml_err ! for mpi_isend when avoiding mpi_allgather 2726 2734 INTEGER, DIMENSION(MPI_STATUS_SIZE):: ml_stat ! for mpi_isend when avoiding mpi_allgather 2727 !!---------------------------------------------------------------------- 2728 ! 2735 INTEGER :: istatus(mpi_status_size) 2736 INTEGER :: iflag 2737 !!---------------------------------------------------------------------- 2738 ! 2739 2729 2740 ijpj = 4 2730 ityp = -12731 2741 ijpjm1 = 3 2732 tab_2d(:,:) = 0.e02733 2742 ! 2734 2743 DO jj = nlcj-ijpj+1, nlcj ! put in xnorthloc_2d the last 4 jlines of pt2d … … 2741 2750 IF ( l_north_nogather ) THEN 2742 2751 ! 2743 ! Avoid the use of mpi_allgather by exchanging only with the processes already identified 2752 ! Avoid the use of mpi_allgather by exchanging only with the processes already identified 2744 2753 ! (in nemo_northcomms) as being involved in this process' northern boundary exchange 2745 2754 ! 2755 2756 ztabr_2d(:,:) = 0 2757 2746 2758 DO jj = nlcj-ijpj+1, nlcj ! First put local values into the global array 2747 2759 ij = jj - nlcj + ijpj 2748 2760 DO ji = 1, nlci 2749 tab_2d(ji+nimpp-1,ij) = pt2d(ji,jj)2761 ztabl_2d(ji,ij) = pt2d(ji,jj) 2750 2762 END DO 2751 2763 END DO 2752 2764 2753 ! 2754 ! Set the exchange type in order to access the correct list of active neighbours 2755 ! 2756 SELECT CASE ( cd_type ) 2757 CASE ( 'T' , 'W' ) 2758 ityp = 1 2759 CASE ( 'U' ) 2760 ityp = 2 2761 CASE ( 'V' ) 2762 ityp = 3 2763 CASE ( 'F' ) 2764 ityp = 4 2765 CASE ( 'I' ) 2766 ityp = 5 2767 CASE DEFAULT 2768 ityp = -1 ! Set a default value for unsupported types which 2769 ! will cause a fallback to the mpi_allgather method 2770 END SELECT 2771 2772 IF ( ityp .gt. 0 ) THEN 2773 2774 DO jr = 1,nsndto(ityp) 2775 CALL mppsend(5, xnorthloc_2d, itaille, isendto(jr,ityp), ml_req_nf(jr) ) 2765 DO jr = 1,nsndto 2766 IF (isendto(jr) .ne. narea) CALL mppsend(5, xnorthloc_2d, itaille, isendto(jr)-1, ml_req_nf(jr)) 2767 END DO 2768 DO jr = 1,nsndto 2769 iproc = isendto(jr) 2770 ildi = nldit (iproc) 2771 ilei = nleit (iproc) 2772 iilb = nimppt(isendto(jr)) - nimppt(isendto(1)) 2773 IF(isendto(jr) .ne. narea) THEN 2774 CALL mpprecv(5, foldwk_2d, itaille, isendto(jr)-1) 2775 DO jj = 1, ijpj 2776 DO ji = 1, ilei 2777 ztabr_2d(iilb+ji,jj) = foldwk_2d(ji,jj) 2778 END DO 2779 END DO 2780 ELSE 2781 DO jj = 1, ijpj 2782 DO ji = 1, ilei 2783 ztabr_2d(iilb+ji,jj) = pt2d(ji,nlcj-ijpj+jj) 2784 END DO 2785 END DO 2786 ENDIF 2787 END DO 2788 IF (l_isend) THEN 2789 DO jr = 1,nsndto 2790 IF (isendto(jr) .ne. narea) CALL mpi_wait(ml_req_nf(jr), ml_stat, ml_err) 2776 2791 END DO 2777 DO jr = 1,nsndto(ityp) 2778 CALL mpprecv(5, foldwk_2d, itaille, isendto(jr,ityp)) 2779 iproc = isendto(jr,ityp) + 1 2780 ildi = nldit (iproc) 2781 ilei = nleit (iproc) 2782 iilb = nimppt(iproc) 2783 DO jj = 1, ijpj 2784 DO ji = ildi, ilei 2785 tab_2d(ji+iilb-1,jj) = foldwk_2d(ji,jj) 2786 END DO 2787 END DO 2792 ENDIF 2793 CALL mpp_lbc_nfd( ztabl_2d, ztabr_2d, cd_type, psgn ) ! North fold boundary condition 2794 ! 2795 DO jj = nlcj-ijpj+1, nlcj ! Scatter back to pt2d 2796 ij = jj - nlcj + ijpj 2797 DO ji = 1, nlci 2798 pt2d(ji,jj) = ztabl_2d(ji,ij) 2788 2799 END DO 2789 IF (l_isend) THEN 2790 DO jr = 1,nsndto(ityp) 2791 CALL mpi_wait(ml_req_nf(jr), ml_stat, ml_err) 2792 END DO 2793 ENDIF 2794 2795 ENDIF 2796 2797 ENDIF 2798 2799 IF ( ityp .lt. 0 ) THEN 2800 END DO 2801 ! 2802 2803 ELSE 2800 2804 CALL MPI_ALLGATHER( xnorthloc_2d , itaille, MPI_DOUBLE_PRECISION, & 2801 2805 & xnorthgloio_2d, itaille, MPI_DOUBLE_PRECISION, ncomm_north, ierr ) … … 2812 2816 END DO 2813 2817 END DO 2814 ENDIF 2815 ! 2816 ! The tab array has been either: 2817 ! a. Fully populated by the mpi_allgather operation or 2818 ! b. Had the active points for this domain and northern neighbours populated 2819 ! by peer to peer exchanges 2820 ! Either way the array may be folded by lbc_nfd and the result for the span of 2821 ! this domain will be identical. 2822 ! 2823 CALL lbc_nfd( tab_2d, cd_type, psgn ) ! North fold boundary condition 2824 ! 2825 ! 2826 DO jj = nlcj-ijpj+1, nlcj ! Scatter back to pt2d 2827 ij = jj - nlcj + ijpj 2828 DO ji = 1, nlci 2829 pt2d(ji,jj) = tab_2d(ji+nimpp-1,ij) 2830 END DO 2831 END DO 2832 ! 2818 CALL lbc_nfd( tab_2d, cd_type, psgn ) ! North fold boundary condition 2819 ! 2820 DO jj = nlcj-ijpj+1, nlcj ! Scatter back to pt2d 2821 ij = jj - nlcj + ijpj 2822 DO ji = 1, nlci 2823 pt2d(ji,jj) = tab_2d(ji+nimpp-1,ij) 2824 END DO 2825 END DO 2826 ! 2827 ENDIF 2833 2828 END SUBROUTINE mpp_lbc_north_2d 2834 2829 … … 2860 2855 ! 2861 2856 ijpj=4 2862 tab_e(:,:) = 0.e02863 2857 2864 2858 ij=0 -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/NEMO/OPA_SRC/SBC/fldread.F90
r3851 r4201 7 7 !! ! 05-2008 (S. Alderson) Modified for Interpolation in memory 8 8 !! ! from input grid to model grid 9 !! ! 10-2013 (D. Delrosso, P. Oddo) implement suppression of 10 !! ! land point prior to interpolation 9 11 !!---------------------------------------------------------------------- 10 12 … … 22 24 USE wrk_nemo ! work arrays 23 25 USE ioipsl, ONLY : ymds2ju, ju2ymds ! for calendar 24 26 USE sbc_oce 27 25 28 IMPLICIT NONE 26 29 PRIVATE … … 40 43 ! ! a string starting with "U" or "V" for each component 41 44 ! ! chars 2 onwards identify which components go together 45 CHARACTER(len = 34) :: lname ! generic name of a NetCDF land/sea mask file to be used, blank if not 46 ! ! 0=sea 1=land 42 47 END TYPE FLD_N 43 48 … … 60 65 LOGICAL, DIMENSION(2) :: rotn ! flag to indicate whether before/after field has been rotated 61 66 INTEGER :: nreclast ! last record to be read in the current file 67 CHARACTER(len = 256) :: lsmname ! current name of the NetCDF mask file acting as a key 62 68 END TYPE FLD 63 69 … … 95 101 TYPE( WGT ), DIMENSION(tot_wgts) :: ref_wgts ! array of wgts 96 102 INTEGER :: nxt_wgt = 1 ! point to next available space in ref_wgts array 103 REAL(wp), PARAMETER :: undeff_lsm = -999.00_wp 97 104 98 105 !$AGRIF_END_DO_NOT_TREAT … … 591 598 ELSE IF( LEN(TRIM(sdjf%wgtname)) > 0 ) THEN 592 599 CALL wgt_list( sdjf, iw ) 593 IF( sdjf%ln_tint ) THEN ; CALL fld_interp( sdjf%num, sdjf%clvar, iw , ipk , sdjf%fdta(:,:,:,2), sdjf%nrec_a(1) )594 ELSE ; CALL fld_interp( sdjf%num, sdjf%clvar, iw , ipk , sdjf%fnow(:,:,: ), sdjf%nrec_a(1) )600 IF( sdjf%ln_tint ) THEN ; CALL fld_interp( sdjf%num, sdjf%clvar, iw , ipk , sdjf%fdta(:,:,:,2), sdjf%nrec_a(1), sdjf%lsmname ) 601 ELSE ; CALL fld_interp( sdjf%num, sdjf%clvar, iw , ipk , sdjf%fnow(:,:,: ), sdjf%nrec_a(1), sdjf%lsmname ) 595 602 ENDIF 596 603 ELSE … … 856 863 sdf(jf)%wgtname = " " 857 864 IF( LEN( TRIM(sdf_n(jf)%wname) ) > 0 ) sdf(jf)%wgtname = TRIM( cdir )//TRIM( sdf_n(jf)%wname ) 865 sdf(jf)%lsmname = " " 866 IF( LEN( TRIM(sdf_n(jf)%lname) ) > 0 ) sdf(jf)%lsmname = TRIM( cdir )//TRIM( sdf_n(jf)%lname ) 858 867 sdf(jf)%vcomp = sdf_n(jf)%vcomp 859 868 sdf(jf)%rotn(:) = .TRUE. ! pretend to be rotated -> won't try to rotate data before the first call to fld_get … … 878 887 & ' weights : ' , TRIM( sdf(jf)%wgtname ), & 879 888 & ' pairing : ' , TRIM( sdf(jf)%vcomp ), & 880 & ' data type: ' , sdf(jf)%cltype 889 & ' data type: ' , sdf(jf)%cltype , & 890 & ' land/sea mask:' , TRIM( sdf(jf)%lsmname ) 881 891 call flush(numout) 882 892 END DO … … 1098 1108 1099 1109 1100 SUBROUTINE fld_interp( num, clvar, kw, kk, dta, nrec ) 1110 SUBROUTINE apply_seaoverland(clmaskfile,zfieldo,jpi1_lsm,jpi2_lsm,jpj1_lsm, & 1111 & jpj2_lsm,itmpi,itmpj,itmpz,rec1_lsm,recn_lsm) 1112 !!--------------------------------------------------------------------- 1113 !! *** ROUTINE apply_seaoverland *** 1114 !! 1115 !! ** Purpose : avoid spurious fluxes in coastal or near-coastal areas 1116 !! due to the wrong usage of "land" values from the coarse 1117 !! atmospheric model when spatial interpolation is required 1118 !! D. Delrosso INGV 1119 !!---------------------------------------------------------------------- 1120 INTEGER :: inum,jni,jnj,jnz,jc ! temporary indices 1121 INTEGER, INTENT(in) :: itmpi,itmpj,itmpz ! lengths 1122 INTEGER, INTENT(in) :: jpi1_lsm,jpi2_lsm,jpj1_lsm,jpj2_lsm ! temporary indices 1123 INTEGER, DIMENSION(3), INTENT(in) :: rec1_lsm,recn_lsm ! temporary arrays for start and length 1124 REAL(wp),DIMENSION (:,:,:),INTENT(inout) :: zfieldo ! input/output array for seaoverland application 1125 REAL(wp),DIMENSION (:,:,:),ALLOCATABLE :: zslmec1 ! temporary array for land point detection 1126 REAL(wp),DIMENSION (:,:), ALLOCATABLE :: zfieldn ! array of forcing field with undeff for land points 1127 REAL(wp),DIMENSION (:,:), ALLOCATABLE :: zfield ! array of forcing field 1128 CHARACTER (len=100), INTENT(in) :: clmaskfile ! land/sea mask file name 1129 !!--------------------------------------------------------------------- 1130 ALLOCATE ( zslmec1(itmpi,itmpj,itmpz) ) 1131 ALLOCATE ( zfieldn(itmpi,itmpj) ) 1132 ALLOCATE ( zfield(itmpi,itmpj) ) 1133 1134 ! Retrieve the land sea mask data 1135 CALL iom_open( clmaskfile, inum ) 1136 SELECT CASE( SIZE(zfieldo(jpi1_lsm:jpi2_lsm,jpj1_lsm:jpj2_lsm,:),3) ) 1137 CASE(1) 1138 CALL iom_get( inum, jpdom_unknown, 'LSM', zslmec1(jpi1_lsm:jpi2_lsm,jpj1_lsm:jpj2_lsm,1), 1, rec1_lsm, recn_lsm) 1139 CASE DEFAULT 1140 CALL iom_get( inum, jpdom_unknown, 'LSM', zslmec1(jpi1_lsm:jpi2_lsm,jpj1_lsm:jpj2_lsm,:), 1, rec1_lsm, recn_lsm) 1141 END SELECT 1142 CALL iom_close( inum ) 1143 1144 DO jnz=1,rec1_lsm(3) !! Loop over k dimension 1145 1146 DO jni=1,itmpi !! copy the original field into a tmp array 1147 DO jnj=1,itmpj !! substituting undeff over land points 1148 zfieldn(jni,jnj) = zfieldo(jni,jnj,jnz) 1149 IF ( zslmec1(jni,jnj,jnz) == 1. ) THEN 1150 zfieldn(jni,jnj) = undeff_lsm 1151 ENDIF 1152 END DO 1153 END DO 1154 1155 CALL seaoverland(zfieldn,itmpi,itmpj,zfield) 1156 DO jc=1,nn_lsm 1157 CALL seaoverland(zfield,itmpi,itmpj,zfield) 1158 END DO 1159 1160 ! Check for Undeff and substitute original values 1161 IF(ANY(zfield==undeff_lsm)) THEN 1162 DO jni=1,itmpi 1163 DO jnj=1,itmpj 1164 IF (zfield(jni,jnj)==undeff_lsm) THEN 1165 zfield(jni,jnj) = zfieldo(jni,jnj,jnz) 1166 ENDIF 1167 ENDDO 1168 ENDDO 1169 ENDIF 1170 1171 zfieldo(:,:,jnz)=zfield(:,:) 1172 1173 END DO !! End Loop over k dimension 1174 1175 DEALLOCATE ( zslmec1 ) 1176 DEALLOCATE ( zfieldn ) 1177 DEALLOCATE ( zfield ) 1178 1179 END SUBROUTINE apply_seaoverland 1180 1181 1182 SUBROUTINE seaoverland(zfieldn,ileni,ilenj,zfield) 1183 !!--------------------------------------------------------------------- 1184 !! *** ROUTINE seaoverland *** 1185 !! 1186 !! ** Purpose : create shifted matrices for seaoverland application 1187 !! D. Delrosso INGV 1188 !!---------------------------------------------------------------------- 1189 INTEGER,INTENT(in) :: ileni,ilenj ! lengths 1190 REAL,DIMENSION (ileni,ilenj),INTENT(in) :: zfieldn ! array of forcing field with undeff for land points 1191 REAL,DIMENSION (ileni,ilenj),INTENT(out) :: zfield ! array of forcing field 1192 REAL,DIMENSION (ileni,ilenj) :: zmat1,zmat2,zmat3,zmat4 ! temporary arrays for seaoverland application 1193 REAL,DIMENSION (ileni,ilenj) :: zmat5,zmat6,zmat7,zmat8 ! temporary arrays for seaoverland application 1194 REAL,DIMENSION (ileni,ilenj) :: zlsm2d ! temporary arrays for seaoverland application 1195 REAL,DIMENSION (ileni,ilenj,8) :: zlsm3d ! temporary arrays for seaoverland application 1196 LOGICAL,DIMENSION (ileni,ilenj,8) :: ll_msknan3d ! logical mask for undeff detection 1197 LOGICAL,DIMENSION (ileni,ilenj) :: ll_msknan2d ! logical mask for undeff detection 1198 !!---------------------------------------------------------------------- 1199 zmat8 = eoshift(zfieldn , SHIFT=-1, BOUNDARY = (/zfieldn(:,1)/) ,DIM=2) 1200 zmat1 = eoshift(zmat8 , SHIFT=-1, BOUNDARY = (/zmat8(1,:)/) ,DIM=1) 1201 zmat2 = eoshift(zfieldn , SHIFT=-1, BOUNDARY = (/zfieldn(1,:)/) ,DIM=1) 1202 zmat4 = eoshift(zfieldn , SHIFT= 1, BOUNDARY = (/zfieldn(:,ilenj)/),DIM=2) 1203 zmat3 = eoshift(zmat4 , SHIFT=-1, BOUNDARY = (/zmat4(1,:)/) ,DIM=1) 1204 zmat5 = eoshift(zmat4 , SHIFT= 1, BOUNDARY = (/zmat4(ileni,:)/) ,DIM=1) 1205 zmat6 = eoshift(zfieldn , SHIFT= 1, BOUNDARY = (/zfieldn(ileni,:)/),DIM=1) 1206 zmat7 = eoshift(zmat8 , SHIFT= 1, BOUNDARY = (/zmat8(ileni,:)/) ,DIM=1) 1207 1208 zlsm3d = RESHAPE( (/ zmat1, zmat2, zmat3, zmat4, zmat5, zmat6, zmat7, zmat8 /), (/ ileni, ilenj, 8 /)) 1209 ll_msknan3d = .not.(zlsm3d==undeff_lsm) 1210 ll_msknan2d = .not.(zfieldn==undeff_lsm) ! FALSE where is Undeff (land) 1211 zlsm2d = (SUM ( zlsm3d, 3 , ll_msknan3d ) )/(MAX(1,(COUNT( ll_msknan3d , 3 )) )) 1212 WHERE ((COUNT( ll_msknan3d , 3 )) == 0.0_wp) zlsm2d = undeff_lsm 1213 zfield = MERGE (zfieldn,zlsm2d,ll_msknan2d) 1214 END SUBROUTINE seaoverland 1215 1216 1217 SUBROUTINE fld_interp( num, clvar, kw, kk, dta, & 1218 & nrec, lsmfile) 1101 1219 !!--------------------------------------------------------------------- 1102 1220 !! *** ROUTINE fld_interp *** … … 1111 1229 REAL(wp), DIMENSION(:,:,:), INTENT(inout) :: dta ! output field on model grid 1112 1230 INTEGER , INTENT(in ) :: nrec ! record number to read (ie time slice) 1231 CHARACTER(LEN=*) , INTENT(in ) :: lsmfile ! land sea mask file name 1113 1232 !! 1114 INTEGER, DIMENSION(3) :: rec1,recn ! temporary arrays for start and length 1115 INTEGER :: jk, jn, jm ! loop counters 1116 INTEGER :: ni, nj ! lengths 1117 INTEGER :: jpimin,jpiwid ! temporary indices 1118 INTEGER :: jpjmin,jpjwid ! temporary indices 1119 INTEGER :: jpi1,jpi2,jpj1,jpj2 ! temporary indices 1233 REAL(wp),DIMENSION(:,:,:),ALLOCATABLE :: ztmp_fly_dta,zfieldo ! temporary array of values on input grid 1234 INTEGER, DIMENSION(3) :: rec1,recn ! temporary arrays for start and length 1235 INTEGER, DIMENSION(3) :: rec1_lsm,recn_lsm ! temporary arrays for start and length in case of seaoverland 1236 INTEGER :: ii_lsm1,ii_lsm2,ij_lsm1,ij_lsm2 ! temporary indices 1237 INTEGER :: jk, jn, jm, jir, jjr ! loop counters 1238 INTEGER :: ni, nj ! lengths 1239 INTEGER :: jpimin,jpiwid ! temporary indices 1240 INTEGER :: jpimin_lsm,jpiwid_lsm ! temporary indices 1241 INTEGER :: jpjmin,jpjwid ! temporary indices 1242 INTEGER :: jpjmin_lsm,jpjwid_lsm ! temporary indices 1243 INTEGER :: jpi1,jpi2,jpj1,jpj2 ! temporary indices 1244 INTEGER :: jpi1_lsm,jpi2_lsm,jpj1_lsm,jpj2_lsm ! temporary indices 1245 INTEGER :: itmpi,itmpj,itmpz ! lengths 1246 1120 1247 !!---------------------------------------------------------------------- 1121 1248 ! … … 1147 1274 jpj2 = jpj1 + recn(2) - 1 1148 1275 1149 ref_wgts(kw)%fly_dta(:,:,:) = 0.0 1150 SELECT CASE( SIZE(ref_wgts(kw)%fly_dta(jpi1:jpi2,jpj1:jpj2,:),3) ) 1151 CASE(1) 1152 CALL iom_get( num, jpdom_unknown, clvar, ref_wgts(kw)%fly_dta(jpi1:jpi2,jpj1:jpj2,1), nrec, rec1, recn) 1153 CASE DEFAULT 1154 CALL iom_get( num, jpdom_unknown, clvar, ref_wgts(kw)%fly_dta(jpi1:jpi2,jpj1:jpj2,:), nrec, rec1, recn) 1155 END SELECT 1276 1277 IF( LEN( TRIM(lsmfile) ) > 0 ) THEN 1278 !! indeces for ztmp_fly_dta 1279 ! -------------------------- 1280 rec1_lsm(1)=MAX(rec1(1)-nn_lsm,1) ! starting index for enlarged external data, x direction 1281 rec1_lsm(2)=MAX(rec1(2)-nn_lsm,1) ! starting index for enlarged external data, y direction 1282 rec1_lsm(3) = 1 ! vertical dimension 1283 recn_lsm(1)=MIN(rec1(1)-rec1_lsm(1)+recn(1)+nn_lsm,ref_wgts(kw)%ddims(1)-rec1_lsm(1)) ! n points in x direction 1284 recn_lsm(2)=MIN(rec1(2)-rec1_lsm(2)+recn(2)+nn_lsm,ref_wgts(kw)%ddims(2)-rec1_lsm(2)) ! n points in y direction 1285 recn_lsm(3) = kk ! number of vertical levels in the input file 1286 1287 ! Avoid out of bound 1288 jpimin_lsm = MAX( rec1_lsm(1)+1, 1 ) 1289 jpjmin_lsm = MAX( rec1_lsm(2)+1, 1 ) 1290 jpiwid_lsm = MIN( recn_lsm(1)-2,ref_wgts(kw)%ddims(1)-rec1(1)+1) 1291 jpjwid_lsm = MIN( recn_lsm(2)-2,ref_wgts(kw)%ddims(2)-rec1(2)+1) 1292 1293 jpi1_lsm = 2+rec1_lsm(1)-jpimin_lsm 1294 jpj1_lsm = 2+rec1_lsm(2)-jpjmin_lsm 1295 jpi2_lsm = jpi1_lsm + recn_lsm(1) - 1 1296 jpj2_lsm = jpj1_lsm + recn_lsm(2) - 1 1297 1298 1299 itmpi=SIZE(ztmp_fly_dta(jpi1_lsm:jpi2_lsm,jpj1_lsm:jpj2_lsm,:),1) 1300 itmpj=SIZE(ztmp_fly_dta(jpi1_lsm:jpi2_lsm,jpj1_lsm:jpj2_lsm,:),2) 1301 itmpz=kk 1302 ALLOCATE(ztmp_fly_dta(itmpi,itmpj,itmpz)) 1303 ztmp_fly_dta(:,:,:) = 0.0 1304 SELECT CASE( SIZE(ztmp_fly_dta(jpi1_lsm:jpi2_lsm,jpj1_lsm:jpj2_lsm,:),3) ) 1305 CASE(1) 1306 CALL iom_get( num, jpdom_unknown, clvar, ztmp_fly_dta(jpi1_lsm:jpi2_lsm,jpj1_lsm:jpj2_lsm,1), & 1307 & nrec, rec1_lsm, recn_lsm) 1308 CASE DEFAULT 1309 CALL iom_get( num, jpdom_unknown, clvar, ztmp_fly_dta(jpi1_lsm:jpi2_lsm,jpj1_lsm:jpj2_lsm,:), & 1310 & nrec, rec1_lsm, recn_lsm) 1311 END SELECT 1312 CALL apply_seaoverland(lsmfile,ztmp_fly_dta(jpi1_lsm:jpi2_lsm,jpj1_lsm:jpj2_lsm,:), & 1313 & jpi1_lsm,jpi2_lsm,jpj1_lsm,jpj2_lsm, & 1314 & itmpi,itmpj,itmpz,rec1_lsm,recn_lsm) 1315 1316 1317 ! Relative indeces for remapping 1318 ii_lsm1 = (rec1(1)-rec1_lsm(1))+1 1319 ii_lsm2 = (ii_lsm1+recn(1))-1 1320 ij_lsm1 = (rec1(2)-rec1_lsm(2))+1 1321 ij_lsm2 = (ij_lsm1+recn(2))-1 1322 1323 ref_wgts(kw)%fly_dta(:,:,:) = 0.0 1324 ref_wgts(kw)%fly_dta(jpi1:jpi2,jpj1:jpj2,:) = ztmp_fly_dta(ii_lsm1:ii_lsm2,ij_lsm1:ij_lsm2,:) 1325 DEALLOCATE(ztmp_fly_dta) 1326 1327 ELSE 1328 1329 ref_wgts(kw)%fly_dta(:,:,:) = 0.0 1330 SELECT CASE( SIZE(ref_wgts(kw)%fly_dta(jpi1:jpi2,jpj1:jpj2,:),3) ) 1331 CASE(1) 1332 CALL iom_get( num, jpdom_unknown, clvar, ref_wgts(kw)%fly_dta(jpi1:jpi2,jpj1:jpj2,1), nrec, rec1, recn) 1333 CASE DEFAULT 1334 CALL iom_get( num, jpdom_unknown, clvar, ref_wgts(kw)%fly_dta(jpi1:jpi2,jpj1:jpj2,:), nrec, rec1, recn) 1335 END SELECT 1336 ENDIF 1337 1156 1338 1157 1339 !! first four weights common to both bilinear and bicubic -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/NEMO/OPA_SRC/SBC/sbc_oce.F90
r3905 r4201 52 52 LOGICAL , PUBLIC :: ln_cdgw = .FALSE. !: true if neutral drag coefficient from wave model 53 53 LOGICAL , PUBLIC :: ln_sdw = .FALSE. !: true if 3d stokes drift from wave model 54 54 INTEGER , PUBLIC :: nn_lsm = 0 !: Number of iteration if seaoverland is applied 55 55 !!---------------------------------------------------------------------- 56 56 !! Ocean Surface Boundary Condition fields -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/NEMO/OPA_SRC/SBC/sbcapr.F90
r3795 r4201 78 78 ! !* set file information (default values) 79 79 ! ... default values (NB: frequency positive => hours, negative => months) 80 ! ! file ! frequency ! variable ! time intep ! clim ! 'yearly' or ! weights ! rotation ! 81 ! ! name ! (hours) ! name ! (T/F) ! (T/F) ! 'monthly' ! filename ! pairs ! 82 sn_apr = FLD_N( 'patm' , 24 , 'patm' , .false. , .true. , 'yearly' , '' , '' )80 ! ! file ! frequency ! variable ! time intep ! clim ! 'yearly' or ! weights ! rotation ! land/sea mask ! 81 ! ! name ! (hours) ! name ! (T/F) ! (T/F) ! 'monthly' ! filename ! pairs ! filename ! 82 sn_apr = FLD_N( 'patm' , 24 , 'patm' , .false. , .true. , 'yearly' , '' , '' , '' ) 83 83 cn_dir = './' ! directory in which the Patm data are 84 84 -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_clio.F90
r3625 r4201 143 143 144 144 ! (NB: frequency positive => hours, negative => months) 145 ! ! file ! frequency ! variable ! time intep ! clim ! 'yearly' or ! weights ! rotation ! 146 ! ! name ! (hours) ! name ! (T/F) ! (T/F) ! 'monthly' ! filename ! pairs ! 147 sn_utau = FLD_N( 'utau' , 24 , 'utau' , .true. , .false. , 'yearly' , '' , '' )148 sn_vtau = FLD_N( 'vtau' , 24 , 'vtau' , .true. , .false. , 'yearly' , '' , '' )149 sn_wndm = FLD_N( 'mwnd10m', 24 , 'm_10' , .true. , .false. , 'yearly' , '' , '' )150 sn_tair = FLD_N( 'tair10m', 24 , 't_10' , .false. , .false. , 'yearly' , '' , '' )151 sn_humi = FLD_N( 'humi10m', 24 , 'q_10' , .false. , .false. , 'yearly' , '' , '' )152 sn_ccov = FLD_N( 'ccover' , -1 , 'cloud' , .true. , .false. , 'yearly' , '' , '' )153 sn_prec = FLD_N( 'precip' , -1 , 'precip' , .true. , .false. , 'yearly' , '' , '' )145 ! ! file ! frequency ! variable ! time intep ! clim ! 'yearly' or ! weights ! rotation ! land/sea mask ! 146 ! ! name ! (hours) ! name ! (T/F) ! (T/F) ! 'monthly' ! filename ! pairs ! filename ! 147 sn_utau = FLD_N( 'utau' , 24 , 'utau' , .true. , .false. , 'yearly' , '' , '' , '' ) 148 sn_vtau = FLD_N( 'vtau' , 24 , 'vtau' , .true. , .false. , 'yearly' , '' , '' , '' ) 149 sn_wndm = FLD_N( 'mwnd10m', 24 , 'm_10' , .true. , .false. , 'yearly' , '' , '' , '' ) 150 sn_tair = FLD_N( 'tair10m', 24 , 't_10' , .false. , .false. , 'yearly' , '' , '' , '' ) 151 sn_humi = FLD_N( 'humi10m', 24 , 'q_10' , .false. , .false. , 'yearly' , '' , '' , '' ) 152 sn_ccov = FLD_N( 'ccover' , -1 , 'cloud' , .true. , .false. , 'yearly' , '' , '' , '' ) 153 sn_prec = FLD_N( 'precip' , -1 , 'precip' , .true. , .false. , 'yearly' , '' , '' , '' ) 154 154 155 155 REWIND( numnam ) ! ... read in namlist namsbc_clio -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_core.F90
r3772 r4201 139 139 ! 140 140 ! (NB: frequency positive => hours, negative => months) 141 ! ! file ! frequency ! variable ! time intep ! clim ! 'yearly' or ! weights ! rotation ! 142 ! ! name ! (hours) ! name ! (T/F) ! (T/F) ! 'monthly' ! filename ! pairs ! 143 sn_wndi = FLD_N( 'uwnd10m', 24 , 'u_10' , .false. , .false. , 'yearly' , '' , '' )144 sn_wndj = FLD_N( 'vwnd10m', 24 , 'v_10' , .false. , .false. , 'yearly' , '' , '' )145 sn_qsr = FLD_N( 'qsw' , 24 , 'qsw' , .false. , .false. , 'yearly' , '' , '' )146 sn_qlw = FLD_N( 'qlw' , 24 , 'qlw' , .false. , .false. , 'yearly' , '' , '' )147 sn_tair = FLD_N( 'tair10m', 24 , 't_10' , .false. , .false. , 'yearly' , '' , '' )148 sn_humi = FLD_N( 'humi10m', 24 , 'q_10' , .false. , .false. , 'yearly' , '' , '' )149 sn_prec = FLD_N( 'precip' , -1 , 'precip' , .true. , .false. , 'yearly' , '' , '' )150 sn_snow = FLD_N( 'snow' , -1 , 'snow' , .true. , .false. , 'yearly' , '' , '' )151 sn_tdif = FLD_N( 'taudif' , 24 , 'taudif' , .true. , .false. , 'yearly' , '' , '' )141 ! ! file ! frequency ! variable ! time intep ! clim ! 'yearly' or ! weights ! rotation ! land/sea mask ! 142 ! ! name ! (hours) ! name ! (T/F) ! (T/F) ! 'monthly' ! filename ! pairs ! filename ! 143 sn_wndi = FLD_N( 'uwnd10m', 24 , 'u_10' , .false. , .false. , 'yearly' , '' , '' , '' ) 144 sn_wndj = FLD_N( 'vwnd10m', 24 , 'v_10' , .false. , .false. , 'yearly' , '' , '' , '' ) 145 sn_qsr = FLD_N( 'qsw' , 24 , 'qsw' , .false. , .false. , 'yearly' , '' , '' , '' ) 146 sn_qlw = FLD_N( 'qlw' , 24 , 'qlw' , .false. , .false. , 'yearly' , '' , '' , '' ) 147 sn_tair = FLD_N( 'tair10m', 24 , 't_10' , .false. , .false. , 'yearly' , '' , '' , '' ) 148 sn_humi = FLD_N( 'humi10m', 24 , 'q_10' , .false. , .false. , 'yearly' , '' , '' , '' ) 149 sn_prec = FLD_N( 'precip' , -1 , 'precip' , .true. , .false. , 'yearly' , '' , '' , '' ) 150 sn_snow = FLD_N( 'snow' , -1 , 'snow' , .true. , .false. , 'yearly' , '' , '' , '' ) 151 sn_tdif = FLD_N( 'taudif' , 24 , 'taudif' , .true. , .false. , 'yearly' , '' , '' , '' ) 152 152 ! 153 153 REWIND( numnam ) ! read in namlist namsbc_core -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_mfs.F90
r3625 r4201 137 137 ! 138 138 ! (NB: frequency positive => hours, negative => months) 139 ! ! file ! frequency ! variable ! time intep ! clim ! 'yearly' or ! weights ! rotation ! 140 ! ! name ! (hours) ! name ! (T/F) ! (T/F) ! 'monthly' ! filename ! pairs ! 141 sn_wndi = FLD_N( 'ecmwf' , 24 , 'u10' , .false. , .false. , 'daily' , '' , '' )142 sn_wndj = FLD_N( 'ecmwf' , 24 , 'v10' , .false. , .false. , 'daily' , '' , '' )143 sn_clc = FLD_N( 'ecmwf' , 24 , 'clc' , .false. , .false. , 'daily' , '' , '' )144 sn_msl = FLD_N( 'ecmwf' , 24 , 'msl' , .false. , .false. , 'daily' , '' , '' )145 sn_tair = FLD_N( 'ecmwf' , 24 , 't2' , .false. , .false. , 'daily' , '' , '' )146 sn_rhm = FLD_N( 'ecmwf' , 24 , 'rh' , .false. , .false. , 'daily' , '' , '' )147 sn_prec = FLD_N( 'precip_cmap' , -1 , 'precip' , .true. , .true. , 'yearly' , '' , '' )139 ! ! file ! frequency ! variable ! time intep ! clim ! 'yearly' or ! weights ! rotation ! land/sea mask ! 140 ! ! name ! (hours) ! name ! (T/F) ! (T/F) ! 'monthly' ! filename ! pairs ! filename ! 141 sn_wndi = FLD_N( 'ecmwf' , 24 , 'u10' , .false. , .false. , 'daily' , '' , '' , '' ) 142 sn_wndj = FLD_N( 'ecmwf' , 24 , 'v10' , .false. , .false. , 'daily' , '' , '' , '' ) 143 sn_clc = FLD_N( 'ecmwf' , 24 , 'clc' , .false. , .false. , 'daily' , '' , '' , '' ) 144 sn_msl = FLD_N( 'ecmwf' , 24 , 'msl' , .false. , .false. , 'daily' , '' , '' , '' ) 145 sn_tair = FLD_N( 'ecmwf' , 24 , 't2' , .false. , .false. , 'daily' , '' , '' , '' ) 146 sn_rhm = FLD_N( 'ecmwf' , 24 , 'rh' , .false. , .false. , 'daily' , '' , '' , '' ) 147 sn_prec = FLD_N( 'precip_cmap' , -1 , 'precip' , .true. , .true. , 'yearly' , '' , '' , '' ) 148 148 ! 149 149 REWIND( numnam ) ! ... read in namlist namsbc_mfs -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/NEMO/OPA_SRC/SBC/sbcflx.F90
r3625 r4201 92 92 cn_dir = './' ! directory in which the model is executed 93 93 ! ... default values (NB: frequency positive => hours, negative => months) 94 ! ! file ! frequency ! variable ! time intep ! clim ! 'yearly' or ! weights ! rotation ! 95 ! ! name ! (hours) ! name ! (T/F) ! (T/F) ! 'monthly' ! filename ! pairs ! 96 sn_utau = FLD_N( 'utau' , 24 , 'utau' , .false. , .false. , 'yearly' , '' , '' )97 sn_vtau = FLD_N( 'vtau' , 24 , 'vtau' , .false. , .false. , 'yearly' , '' , '' )98 sn_qtot = FLD_N( 'qtot' , 24 , 'qtot' , .false. , .false. , 'yearly' , '' , '' )99 sn_qsr = FLD_N( 'qsr' , 24 , 'qsr' , .false. , .false. , 'yearly' , '' , '' )100 sn_emp = FLD_N( 'emp' , 24 , 'emp' , .false. , .false. , 'yearly' , '' , '' )94 ! ! file ! frequency ! variable ! time intep ! clim ! 'yearly' or ! weights ! rotation ! land/sea mask ! 95 ! ! name ! (hours) ! name ! (T/F) ! (T/F) ! 'monthly' ! filename ! pairs ! filename ! 96 sn_utau = FLD_N( 'utau' , 24 , 'utau' , .false. , .false. , 'yearly' , '' , '' , '' ) 97 sn_vtau = FLD_N( 'vtau' , 24 , 'vtau' , .false. , .false. , 'yearly' , '' , '' , '' ) 98 sn_qtot = FLD_N( 'qtot' , 24 , 'qtot' , .false. , .false. , 'yearly' , '' , '' , '' ) 99 sn_qsr = FLD_N( 'qsr' , 24 , 'qsr' , .false. , .false. , 'yearly' , '' , '' , '' ) 100 sn_emp = FLD_N( 'emp' , 24 , 'emp' , .false. , .false. , 'yearly' , '' , '' , '' ) 101 101 ! 102 102 REWIND ( numnam ) ! read in namlist namflx -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_cice.F90
r3625 r4201 743 743 744 744 ! (NB: frequency positive => hours, negative => months) 745 ! ! file ! frequency ! variable ! time intep ! clim ! 'yearly' or ! weights ! rotation ! 746 ! ! name ! (hours) ! name ! (T/F) ! (T/F) ! 'monthly' ! filename ! pairs ! 747 sn_snow = FLD_N( 'snowfall_1m' , -1. , 'snowfall' , .true. , .true. , ' yearly' , '' , '' )748 sn_rain = FLD_N( 'rainfall_1m' , -1. , 'rainfall' , .true. , .true. , ' yearly' , '' , '' )749 sn_sblm = FLD_N( 'sublim_1m' , -1. , 'sublim' , .true. , .true. , ' yearly' , '' , '' )750 sn_top1 = FLD_N( 'topmeltn1_1m' , -1. , 'topmeltn1' , .true. , .true. , ' yearly' , '' , '' )751 sn_top2 = FLD_N( 'topmeltn2_1m' , -1. , 'topmeltn2' , .true. , .true. , ' yearly' , '' , '' )752 sn_top3 = FLD_N( 'topmeltn3_1m' , -1. , 'topmeltn3' , .true. , .true. , ' yearly' , '' , '' )753 sn_top4 = FLD_N( 'topmeltn4_1m' , -1. , 'topmeltn4' , .true. , .true. , ' yearly' , '' , '' )754 sn_top5 = FLD_N( 'topmeltn5_1m' , -1. , 'topmeltn5' , .true. , .true. , ' yearly' , '' , '' )755 sn_bot1 = FLD_N( 'botmeltn1_1m' , -1. , 'botmeltn1' , .true. , .true. , ' yearly' , '' , '' )756 sn_bot2 = FLD_N( 'botmeltn2_1m' , -1. , 'botmeltn2' , .true. , .true. , ' yearly' , '' , '' )757 sn_bot3 = FLD_N( 'botmeltn3_1m' , -1. , 'botmeltn3' , .true. , .true. , ' yearly' , '' , '' )758 sn_bot4 = FLD_N( 'botmeltn4_1m' , -1. , 'botmeltn4' , .true. , .true. , ' yearly' , '' , '' )759 sn_bot5 = FLD_N( 'botmeltn5_1m' , -1. , 'botmeltn5' , .true. , .true. , ' yearly' , '' , '' )745 ! ! file ! frequency ! variable ! time intep ! clim ! 'yearly' or ! weights ! rotation ! land/sea mask ! 746 ! ! name ! (hours) ! name ! (T/F) ! (T/F) ! 'monthly' ! filename ! pairs ! filename ! 747 sn_snow = FLD_N( 'snowfall_1m' , -1. , 'snowfall' , .true. , .true. , ' yearly' , '' , '' , '' ) 748 sn_rain = FLD_N( 'rainfall_1m' , -1. , 'rainfall' , .true. , .true. , ' yearly' , '' , '' , '' ) 749 sn_sblm = FLD_N( 'sublim_1m' , -1. , 'sublim' , .true. , .true. , ' yearly' , '' , '' , '' ) 750 sn_top1 = FLD_N( 'topmeltn1_1m' , -1. , 'topmeltn1' , .true. , .true. , ' yearly' , '' , '' , '' ) 751 sn_top2 = FLD_N( 'topmeltn2_1m' , -1. , 'topmeltn2' , .true. , .true. , ' yearly' , '' , '' , '' ) 752 sn_top3 = FLD_N( 'topmeltn3_1m' , -1. , 'topmeltn3' , .true. , .true. , ' yearly' , '' , '' , '' ) 753 sn_top4 = FLD_N( 'topmeltn4_1m' , -1. , 'topmeltn4' , .true. , .true. , ' yearly' , '' , '' , '' ) 754 sn_top5 = FLD_N( 'topmeltn5_1m' , -1. , 'topmeltn5' , .true. , .true. , ' yearly' , '' , '' , '' ) 755 sn_bot1 = FLD_N( 'botmeltn1_1m' , -1. , 'botmeltn1' , .true. , .true. , ' yearly' , '' , '' , '' ) 756 sn_bot2 = FLD_N( 'botmeltn2_1m' , -1. , 'botmeltn2' , .true. , .true. , ' yearly' , '' , '' , '' ) 757 sn_bot3 = FLD_N( 'botmeltn3_1m' , -1. , 'botmeltn3' , .true. , .true. , ' yearly' , '' , '' , '' ) 758 sn_bot4 = FLD_N( 'botmeltn4_1m' , -1. , 'botmeltn4' , .true. , .true. , ' yearly' , '' , '' , '' ) 759 sn_bot5 = FLD_N( 'botmeltn5_1m' , -1. , 'botmeltn5' , .true. , .true. , ' yearly' , '' , '' , '' ) 760 760 761 761 ! REWIND ( numnam ) ! ... at some point might read in from NEMO namelist? -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_if.F90
r3625 r4201 72 72 cn_dir = './' ! directory in which the model is executed 73 73 ! ... default values (NB: frequency positive => hours, negative => months) 74 ! ! file ! frequency ! variable ! time intep ! clim ! 'yearly' or ! weights ! rotation ! 75 ! ! name ! (hours) ! name ! (T/F) ! (T/F) ! 'monthly' ! filename ! pairs ! 76 sn_ice = FLD_N('ice_cover', -1 , 'ice_cov' , .true. , .true. , 'yearly' , '' , '')74 ! ! file ! frequency ! variable ! time intep ! clim ! 'yearly' or ! weights ! rotation ! land/sea mask ! 75 ! ! name ! (hours) ! name ! (T/F) ! (T/F) ! 'monthly' ! filename ! pairs ! filename ! 76 sn_ice = FLD_N('ice_cover', -1 , 'ice_cov' , .true. , .true. , 'yearly' , '' , '' , '' ) 77 77 78 78 REWIND ( numnam ) ! ... read in namlist namiif -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90
r4028 r4201 86 86 NAMELIST/namsbc/ nn_fsbc , ln_ana , ln_flx, ln_blk_clio, ln_blk_core, ln_cpl, & 87 87 & ln_blk_mfs, ln_apr_dyn, nn_ice, nn_ice_embd, ln_dm2dc , ln_rnf, & 88 & ln_ssr , nn_fwb , ln_cdgw , ln_wave , ln_sdw 88 & ln_ssr , nn_fwb , ln_cdgw , ln_wave , ln_sdw , nn_lsm 89 89 !!---------------------------------------------------------------------- 90 90 … … 128 128 WRITE(numout,*) ' FreshWater Budget control (=0/1/2) nn_fwb = ', nn_fwb 129 129 WRITE(numout,*) ' closed sea (=0/1) (set in namdom) nn_closea = ', nn_closea 130 WRITE(numout,*) ' n. of iterations if land-sea-mask applied nn_lsm = ', nn_lsm 130 131 ENDIF 131 132 -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/NEMO/OPA_SRC/SBC/sbcrnf.F90
r3832 r4201 255 255 ! ! ============ 256 256 ! (NB: frequency positive => hours, negative => months) 257 ! ! file ! frequency ! variable ! time intep ! clim ! 'yearly' or ! weights ! rotation!258 ! ! name ! (hours) ! name ! (T/F) ! (T/F) ! 'monthly' ! filename ! pairs!259 sn_rnf = FLD_N( 'runoffs' , -1 , 'sorunoff' , .TRUE. , .true. , 'yearly' , '' , '')260 sn_cnf = FLD_N( 'runoffs' , 0 , 'sorunoff' , .FALSE. , .true. , 'yearly' , '' , '')261 262 sn_s_rnf = FLD_N( 'runoffs' , 24. , 'rosaline' , .TRUE. , .true. , 'yearly' , '' , '')263 sn_t_rnf = FLD_N( 'runoffs' , 24. , 'rotemper' , .TRUE. , .true. , 'yearly' , '' , '')264 sn_dep_rnf = FLD_N( 'runoffs', 0. , 'rodepth' , .FALSE. , .true. , 'yearly' , '' , '')257 ! ! file ! frequency ! variable ! time intep ! clim ! 'yearly' or ! weights ! rotation ! land/sea mask ! 258 ! ! name ! (hours) ! name ! (T/F) ! (T/F) ! 'monthly' ! filename ! pairs ! filename ! 259 sn_rnf = FLD_N( 'runoffs' , -1 , 'sorunoff' , .TRUE. , .true. , 'yearly' , '' , '' , '' ) 260 sn_cnf = FLD_N( 'runoffs' , 0 , 'sorunoff' , .FALSE. , .true. , 'yearly' , '' , '' , '' ) 261 262 sn_s_rnf = FLD_N( 'runoffs' , 24. , 'rosaline' , .TRUE. , .true. , 'yearly' , '' , '' , '' ) 263 sn_t_rnf = FLD_N( 'runoffs' , 24. , 'rotemper' , .TRUE. , .true. , 'yearly' , '' , '' , '' ) 264 sn_dep_rnf = FLD_N( 'runoffs', 0. , 'rodepth' , .FALSE. , .true. , 'yearly' , '' , '' , '' ) 265 265 ! 266 266 REWIND ( numnam ) ! Read Namelist namsbc_rnf -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/NEMO/OPA_SRC/SBC/sbcssr.F90
r3764 r4201 169 169 cn_dir = './' ! directory in which the model is executed 170 170 ! ... default values (NB: frequency positive => hours, negative => months) 171 ! ! file ! frequency ! variable ! time intep ! clim ! 'yearly' or ! weights ! rotation ! 172 ! ! name ! (hours) ! name ! (T/F) ! (T/F) ! 'monthly' ! filename ! pairs ! 173 sn_sst = FLD_N( 'sst' , 24 , 'sst' , .false. , .false. , 'yearly' , '' , '' )174 sn_sss = FLD_N( 'sss' , -1 , 'sss' , .true. , .false. , 'yearly' , '' , '' )171 ! ! file ! frequency ! variable ! time intep ! clim ! 'yearly' or ! weights ! rotation ! land/sea mask ! 172 ! ! name ! (hours) ! name ! (T/F) ! (T/F) ! 'monthly' ! filename ! pairs ! filename ! 173 sn_sst = FLD_N( 'sst' , 24 , 'sst' , .false. , .false. , 'yearly' , '' , '' , '' ) 174 sn_sss = FLD_N( 'sss' , -1 , 'sss' , .true. , .false. , 'yearly' , '' , '' , '' ) 175 175 176 176 REWIND( numnam ) !* read in namlist namflx -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/NEMO/OPA_SRC/SBC/sbcwave.F90
r3680 r4201 84 84 ! !* set file information (default values) 85 85 ! ... default values (NB: frequency positive => hours, negative => months) 86 ! ! file ! frequency ! variable ! time intep ! clim ! 'yearly' or ! weights ! rotation ! 87 ! ! name ! (hours) ! name ! (T/F) ! (T/F) ! 'monthly' ! filename ! pairs ! 88 sn_cdg = FLD_N('cdg_wave' , 1 ,'drag_coeff', .true. , .false. , 'daily' , '' , '' )89 sn_usd = FLD_N('sdw_wave' , 1 ,'u_sd2d', .true. , .false. , 'daily' , '' , '' )90 sn_vsd = FLD_N('sdw_wave' , 1 ,'v_sd2d', .true. , .false. , 'daily' , '' , '' )91 sn_wn = FLD_N( 'sdw_wave' , 1 ,'wave_num', .true. , .false. , 'daily' , '' , '' )86 ! ! file ! frequency ! variable ! time intep ! clim ! 'yearly' or ! weights ! rotation ! land/sea mask ! 87 ! ! name ! (hours) ! name ! (T/F) ! (T/F) ! 'monthly' ! filename ! pairs ! filename ! 88 sn_cdg = FLD_N('cdg_wave' , 1 ,'drag_coeff', .true. , .false. , 'daily' , '' , '' , '' ) 89 sn_usd = FLD_N('sdw_wave' , 1 ,'u_sd2d', .true. , .false. , 'daily' , '' , '' , '' ) 90 sn_vsd = FLD_N('sdw_wave' , 1 ,'v_sd2d', .true. , .false. , 'daily' , '' , '' , '' ) 91 sn_wn = FLD_N( 'sdw_wave' , 1 ,'wave_num', .true. , .false. , 'daily' , '' , '' , '' ) 92 92 cn_dir = './' ! directory in which the wave data are 93 93 -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/NEMO/OPA_SRC/TRA/tranxt.F90
r3294 r4201 104 104 IF(lwp) WRITE(numout,*) '~~~~~~~' 105 105 ! 106 rbcp = 0.25 * (1. + atfp) * (1. + atfp) * ( 1.- atfp) ! Brown & Campana parameter for semi-implicit hpg106 rbcp = 0.25_wp * (1._wp + atfp) * (1._wp + atfp) * ( 1._wp - atfp) ! Brown & Campana parameter for semi-implicit hpg 107 107 ENDIF 108 108 109 109 ! Update after tracer on domain lateral boundaries 110 110 ! 111 CALL lbc_lnk( tsa(:,:,:,jp_tem), 'T', 1. ) ! local domain boundaries (T-point, unchanged sign)112 CALL lbc_lnk( tsa(:,:,:,jp_sal), 'T', 1. )111 CALL lbc_lnk( tsa(:,:,:,jp_tem), 'T', 1._wp ) ! local domain boundaries (T-point, unchanged sign) 112 CALL lbc_lnk( tsa(:,:,:,jp_sal), 'T', 1._wp ) 113 113 ! 114 114 #if defined key_obc … … 124 124 ! set time step size (Euler/Leapfrog) 125 125 IF( neuler == 0 .AND. kt == nit000 ) THEN ; r2dtra(:) = rdttra(:) ! at nit000 (Euler) 126 ELSEIF( kt <= nit000 + 1 ) THEN ; r2dtra(:) = 2. * rdttra(:) ! at nit000 or nit000+1 (Leapfrog)126 ELSEIF( kt <= nit000 + 1 ) THEN ; r2dtra(:) = 2._wp* rdttra(:) ! at nit000 or nit000+1 (Leapfrog) 127 127 ENDIF 128 128 … … 155 155 IF( l_trdtra ) THEN ! trend of the Asselin filter (tb filtered - tb)/dt 156 156 DO jk = 1, jpkm1 157 zfact = 1.e0 / r2dtra(jk)157 zfact = 1.e0_wp / r2dtra(jk) 158 158 ztrdt(:,:,jk) = ( tsb(:,:,jk,jp_tem) - ztrdt(:,:,jk) ) * zfact 159 159 ztrds(:,:,jk) = ( tsb(:,:,jk,jp_sal) - ztrds(:,:,jk) ) * zfact -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/NEMO/OPA_SRC/TRA/traqsr.F90
r3680 r4201 338 338 cn_dir = './' ! directory in which the model is executed 339 339 ! ... default values (NB: frequency positive => hours, negative => months) 340 ! ! file ! frequency ! variable ! time interp ! clim ! 'yearly' or ! weights ! rotation ! 341 ! ! name ! (hours) ! name ! (T/F) ! (T/F) ! 'monthly' ! filename ! pairs ! 342 sn_chl = FLD_N( 'chlorophyll' , -1 , 'CHLA' , .true. , .true. , 'yearly' , '' , '' )340 ! ! file ! frequency ! variable ! time interp ! clim ! 'yearly' or ! weights ! rotation ! land/sea mask ! 341 ! ! name ! (hours) ! name ! (T/F) ! (T/F) ! 'monthly' ! filename ! pairs ! filename ! 342 sn_chl = FLD_N( 'chlorophyll' , -1 , 'CHLA' , .true. , .true. , 'yearly' , '' , '' , '' ) 343 343 ! 344 344 REWIND( numnam ) ! Read Namelist namtra_qsr : ratio and length of penetration -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/NEMO/OPA_SRC/nemogcm.F90
r3769 r4201 84 84 #endif 85 85 USE sbctide, ONLY: lk_tide 86 USE lbcnfd, ONLY: isendto, nsndto ! Setup of north fold exchanges 86 87 87 88 IMPLICIT NONE … … 683 684 !!====================================================================== 684 685 !! *** ROUTINE nemo_northcomms *** 685 !! nemo_northcomms : Setup for north fold exchanges with explicit peer to peer messaging 686 !! nemo_northcomms : Setup for north fold exchanges with explicit 687 !! point-to-point messaging 686 688 !!===================================================================== 687 689 !!---------------------------------------------------------------------- … … 690 692 !!---------------------------------------------------------------------- 691 693 !! 1.0 ! 2011-10 (A. C. Coward, NOCS & J. Donners, PRACE) 692 !!---------------------------------------------------------------------- 693 694 INTEGER :: ji, jj, jk, ij, jtyp ! dummy loop indices 695 INTEGER :: ijpj ! number of rows involved in north-fold exchange 696 INTEGER :: northcomms_alloc ! allocate return status 697 REAL(wp), ALLOCATABLE, DIMENSION ( :,: ) :: znnbrs ! workspace 698 LOGICAL, ALLOCATABLE, DIMENSION ( : ) :: lrankset ! workspace 699 700 IF(lwp) WRITE(numout,*) 701 IF(lwp) WRITE(numout,*) 'nemo_northcomms : Initialization of the northern neighbours lists' 702 IF(lwp) WRITE(numout,*) '~~~~~~~~~~' 703 704 !!---------------------------------------------------------------------- 705 ALLOCATE( znnbrs(jpi,jpj), stat = northcomms_alloc ) 706 ALLOCATE( lrankset(jpnij), stat = northcomms_alloc ) 707 IF( northcomms_alloc /= 0 ) THEN 708 WRITE(numout,cform_war) 709 WRITE(numout,*) 'northcomms_alloc : failed to allocate arrays' 710 CALL ctl_stop( 'STOP', 'nemo_northcomms : unable to allocate temporary arrays' ) 711 ENDIF 694 !! 2.0 ! 2013-06 Setup avoiding MPI communication (I. Epicoco, S. Mocavero, CMCC) 695 !!---------------------------------------------------------------------- 696 697 INTEGER :: sxM, dxM, sxT, dxT, jn 698 INTEGER :: njmppmax 699 700 njmppmax = MAXVAL( njmppt ) 701 702 !initializes the north-fold communication variables 703 isendto(:) = 0 712 704 nsndto = 0 713 isendto = -1 714 ijpj = 4 715 ! 716 ! This routine has been called because ln_nnogather has been set true ( nammpp ) 717 ! However, these first few exchanges have to use the mpi_allgather method to 718 ! establish the neighbour lists to use in subsequent peer to peer exchanges. 719 ! Consequently, set l_north_nogather to be false here and set it true only after 720 ! the lists have been established. 721 ! 722 l_north_nogather = .FALSE. 723 ! 724 ! Exchange and store ranks on northern rows 725 726 DO jtyp = 1,4 727 728 lrankset = .FALSE. 729 znnbrs = narea 730 SELECT CASE (jtyp) 731 CASE(1) 732 CALL lbc_lnk( znnbrs, 'T', 1. ) ! Type 1: T,W-points 733 CASE(2) 734 CALL lbc_lnk( znnbrs, 'U', 1. ) ! Type 2: U-point 735 CASE(3) 736 CALL lbc_lnk( znnbrs, 'V', 1. ) ! Type 3: V-point 737 CASE(4) 738 CALL lbc_lnk( znnbrs, 'F', 1. ) ! Type 4: F-point 739 END SELECT 740 741 IF ( njmppt(narea) .EQ. MAXVAL( njmppt ) ) THEN 742 DO jj = nlcj-ijpj+1, nlcj 743 ij = jj - nlcj + ijpj 744 DO ji = 1,jpi 745 IF ( INT(znnbrs(ji,jj)) .NE. 0 .AND. INT(znnbrs(ji,jj)) .NE. narea ) & 746 & lrankset(INT(znnbrs(ji,jj))) = .true. 747 END DO 748 END DO 749 750 DO jj = 1,jpnij 751 IF ( lrankset(jj) ) THEN 752 nsndto(jtyp) = nsndto(jtyp) + 1 753 IF ( nsndto(jtyp) .GT. jpmaxngh ) THEN 754 CALL ctl_stop( ' Too many neighbours in nemo_northcomms ', & 755 & ' jpmaxngh will need to be increased ') 756 ENDIF 757 isendto(nsndto(jtyp),jtyp) = jj-1 ! narea converted to MPI rank 758 ENDIF 759 END DO 760 ENDIF 761 762 END DO 763 764 ! 765 ! Type 5: I-point 766 ! 767 ! ICE point exchanges may involve some averaging. The neighbours list is 768 ! built up using two exchanges to ensure that the whole stencil is covered. 769 ! lrankset should not be reset between these 'J' and 'K' point exchanges 770 771 jtyp = 5 772 lrankset = .FALSE. 773 znnbrs = narea 774 CALL lbc_lnk( znnbrs, 'J', 1. ) ! first ice U-V point 775 776 IF ( njmppt(narea) .EQ. MAXVAL( njmppt ) ) THEN 777 DO jj = nlcj-ijpj+1, nlcj 778 ij = jj - nlcj + ijpj 779 DO ji = 1,jpi 780 IF ( INT(znnbrs(ji,jj)) .NE. 0 .AND. INT(znnbrs(ji,jj)) .NE. narea ) & 781 & lrankset(INT(znnbrs(ji,jj))) = .true. 782 END DO 783 END DO 784 ENDIF 785 786 znnbrs = narea 787 CALL lbc_lnk( znnbrs, 'K', 1. ) ! second ice U-V point 788 789 IF ( njmppt(narea) .EQ. MAXVAL( njmppt )) THEN 790 DO jj = nlcj-ijpj+1, nlcj 791 ij = jj - nlcj + ijpj 792 DO ji = 1,jpi 793 IF ( INT(znnbrs(ji,jj)) .NE. 0 .AND. INT(znnbrs(ji,jj)) .NE. narea ) & 794 & lrankset( INT(znnbrs(ji,jj))) = .true. 795 END DO 796 END DO 797 798 DO jj = 1,jpnij 799 IF ( lrankset(jj) ) THEN 800 nsndto(jtyp) = nsndto(jtyp) + 1 801 IF ( nsndto(jtyp) .GT. jpmaxngh ) THEN 802 CALL ctl_stop( ' Too many neighbours in nemo_northcomms ', & 803 & ' jpmaxngh will need to be increased ') 804 ENDIF 805 isendto(nsndto(jtyp),jtyp) = jj-1 ! narea converted to MPI rank 806 ENDIF 807 END DO 808 ! 809 ! For northern row areas, set l_north_nogather so that all subsequent exchanges 810 ! can use peer to peer communications at the north fold 811 ! 812 l_north_nogather = .TRUE. 813 ! 814 ENDIF 815 DEALLOCATE( znnbrs ) 816 DEALLOCATE( lrankset ) 817 705 706 !if I am a process in the north 707 IF ( njmpp == njmppmax ) THEN 708 !sxM is the first point (in the global domain) needed to compute the 709 !north-fold for the current process 710 sxM = jpiglo - nimppt(narea) - nlcit(narea) + 1 711 !dxM is the last point (in the global domain) needed to compute the 712 !north-fold for the current process 713 dxM = jpiglo - nimppt(narea) + 2 714 715 !loop over the other north-fold processes to find the processes 716 !managing the points belonging to the sxT-dxT range 717 DO jn = jpnij - jpni +1, jpnij 718 IF ( njmppt(jn) == njmppmax ) THEN 719 !sxT is the first point (in the global domain) of the jn 720 !process 721 sxT = nimppt(jn) 722 !dxT is the last point (in the global domain) of the jn 723 !process 724 dxT = nimppt(jn) + nlcit(jn) - 1 725 IF ((sxM .gt. sxT) .AND. (sxM .lt. dxT)) THEN 726 nsndto = nsndto + 1 727 isendto(nsndto) = jn 728 ELSEIF ((sxM .le. sxT) .AND. (dxM .gt. dxT)) THEN 729 nsndto = nsndto + 1 730 isendto(nsndto) = jn 731 ELSEIF ((dxM .lt. dxT) .AND. (sxT .lt. dxM)) THEN 732 nsndto = nsndto + 1 733 isendto(nsndto) = jn 734 END IF 735 END IF 736 END DO 737 ENDIF 738 l_north_nogather = .TRUE. 818 739 END SUBROUTINE nemo_northcomms 819 740 #else -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/NEMO/OPA_SRC/step.F90
r3985 r4201 183 183 tsa(:,:,:,:) = 0.e0 ! set tracer trends to zero 184 184 185 !write(numout,*) "MAV kt",kstp 186 !write(numout,'(a5,3(1x,f21.18))') "INIn:",tsn(24,11,1,jp_tem),tsn(24,11,1,jp_sal),sshn(24,11) 187 !write(numout,'(a5,3(1x,f21.18))') "INIa:",tsa(24,11,1,jp_tem),tsa(24,11,1,jp_sal),ssha(24,11) 185 188 IF( ln_asmiau .AND. & 186 189 & ln_trainc ) CALL tra_asm_inc( kstp ) ! apply tracer assimilation increment … … 192 195 IF( lk_bdy ) CALL bdy_tra_dmp( kstp ) ! bdy damping trends 193 196 CALL tra_adv ( kstp ) ! horizontal & vertical advection 197 !write(numout,'(a5,3(1x,f21.18))') "ADVn:",tsn(24,11,1,jp_tem),tsn(24,11,1,jp_sal),sshn(24,11) 198 !write(numout,'(a5,3(1x,f21.18))') "ADVa:",tsa(24,11,1,jp_tem),tsa(24,11,1,jp_sal),ssha(24,11) 194 199 IF( lk_zdfkpp ) CALL tra_kpp ( kstp ) ! KPP non-local tracer fluxes 195 200 CALL tra_ldf ( kstp ) ! lateral mixing 201 !write(numout,'(a5,3(1x,f21.18))') "LDFn:",tsn(24,11,1,jp_tem),tsn(24,11,1,jp_sal),sshn(24,11) 202 !write(numout,'(a5,3(1x,f21.18))') "LDFa:",tsa(24,11,1,jp_tem),tsa(24,11,1,jp_sal),ssha(24,11) 196 203 #if defined key_agrif 197 204 IF(.NOT. Agrif_Root()) CALL Agrif_Sponge_tra ! tracers sponge 198 205 #endif 199 206 CALL tra_zdf ( kstp ) ! vertical mixing and after tracer fields 207 !do jk=1,jpk 208 !write(numout,'(a5,3(1x,f21.18))') "ZDFn:",tsn(5,10,jk,jp_tem),tsn(5,10,jk,jp_sal),tmask(5,10,jk) 209 !write(numout,'(a5,3(1x,f21.18))') "ZDFa:",tsa(5,10,jk,jp_tem),tsa(5,10,jk,jp_sal),ssha(5,10) 210 !end do 200 211 201 212 IF( ln_dynhpg_imp ) THEN ! semi-implicit hpg (time stepping then eos) … … 210 221 IF( ln_zps ) CALL zps_hde( kstp, jpts, tsn, gtsu, gtsv, & ! zps: now hor. derivative 211 222 & rhd, gru , grv ) ! of t, s, rd at the last ocean level 223 !write(numout,'(a5,3(1x,f21.18))') "ZPSn:",tsn(24,11,1,jp_tem),tsn(24,11,1,jp_sal),sshn(24,11) 224 !write(numout,'(a5,3(1x,f21.18))') "ZPSa:",tsa(24,11,1,jp_tem),tsa(24,11,1,jp_sal),ssha(24,11) 212 225 IF( ln_zdfnpc ) CALL tra_npc( kstp ) ! update after fields by non-penetrative convection 213 226 CALL tra_nxt( kstp ) ! tracer fields at next time step 227 !write(numout,'(a5,3(1x,f21.18))') "NXTn:",tsn(24,11,1,jp_tem),tsn(24,11,1,jp_sal),sshn(25,11) 228 !write(numout,'(a5,3(1x,f21.18))') "NXTa:",tsa(24,11,1,jp_tem),tsa(24,11,1,jp_sal),ssha(24,11) 214 229 ENDIF 215 230 -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/NEMO/TOP_SRC/TRP/trcdmp.F90
r3882 r4201 85 85 CHARACTER (len=22) :: charout 86 86 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrtrd 87 REAL(wp), POINTER, DIMENSION(:,:,: ,:) :: ztrcdta ! 4D workspace87 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrcdta ! 3D workspace 88 88 !!---------------------------------------------------------------------- 89 89 ! … … 98 98 IF( nb_trcdta > 0 ) THEN ! Initialisation of tracer from a file that may also be used for damping 99 99 ! 100 CALL wrk_alloc( jpi, jpj, jpk, nb_trcdta, ztrcdta ) ! Memory allocation 101 CALL trc_dta( kt, ztrcdta ) ! read tracer data at nit000 100 CALL wrk_alloc( jpi, jpj, jpk, ztrcdta ) ! Memory allocation 102 101 ! ! =========== 103 102 DO jn = 1, jptra ! tracer loop … … 108 107 109 108 jl = n_trc_index(jn) 109 CALL trc_dta( kt, sf_trcdta(jl),rf_trfac(jl) ) ! read tracer data at nit000 110 ztrcdta(:,:,:) = sf_trcdta(jl)%fnow(:,:,:) 110 111 111 112 SELECT CASE ( nn_zdmp_tr ) … … 115 116 DO jj = 2, jpjm1 116 117 DO ji = fs_2, fs_jpim1 ! vector opt. 117 ztra = restotr(ji,jj,jk) * ( ztrcdta(ji,jj,jk ,jl) - trb(ji,jj,jk,jn) )118 ztra = restotr(ji,jj,jk) * ( ztrcdta(ji,jj,jk) - trb(ji,jj,jk,jn) ) 118 119 tra(ji,jj,jk,jn) = tra(ji,jj,jk,jn) + ztra 119 120 END DO … … 126 127 DO ji = fs_2, fs_jpim1 ! vector opt. 127 128 IF( avt(ji,jj,jk) <= 5.e-4 ) THEN 128 ztra = restotr(ji,jj,jk) * ( ztrcdta(ji,jj,jk ,jl) - trb(ji,jj,jk,jn) )129 ztra = restotr(ji,jj,jk) * ( ztrcdta(ji,jj,jk) - trb(ji,jj,jk,jn) ) 129 130 tra(ji,jj,jk,jn) = tra(ji,jj,jk,jn) + ztra 130 131 ENDIF … … 138 139 DO ji = fs_2, fs_jpim1 ! vector opt. 139 140 IF( fsdept(ji,jj,jk) >= hmlp (ji,jj) ) THEN 140 ztra = restotr(ji,jj,jk) * ( ztrcdta(ji,jj,jk ,jl) - trb(ji,jj,jk,jn) )141 ztra = restotr(ji,jj,jk) * ( ztrcdta(ji,jj,jk) - trb(ji,jj,jk,jn) ) 141 142 tra(ji,jj,jk,jn) = tra(ji,jj,jk,jn) + ztra 142 143 END IF … … 156 157 END DO ! tracer loop 157 158 ! ! =========== 158 CALL wrk_dealloc( jpi, jpj, jpk, nb_trcdta,ztrcdta )159 CALL wrk_dealloc( jpi, jpj, jpk, ztrcdta ) 159 160 ENDIF 160 161 ! … … 185 186 ! 186 187 INTEGER :: ji, jj, jk, jn, jl, jc ! dummy loop indicesa 187 REAL(wp), POINTER, DIMENSION(:,:,: ,:) :: ztrcdta ! 4D workspace188 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrcdta ! 3D workspace 188 189 189 190 !!---------------------------------------------------------------------- … … 267 268 IF(lwp) WRITE(numout,*) 268 269 ! 269 CALL wrk_alloc( jpi, jpj, jpk, nb_trcdta, ztrcdta ) ! Memory allocation 270 ! 271 CALL trc_dta( kt , ztrcdta ) ! read tracer data at nittrc000 270 CALL wrk_alloc( jpi, jpj, jpk, ztrcdta ) ! Memory allocation 272 271 ! 273 272 DO jn = 1, jptra 274 273 IF( ln_trc_ini(jn) ) THEN ! update passive tracers arrays with input data read from file 275 274 jl = n_trc_index(jn) 275 CALL trc_dta( kt, sf_trcdta(jl),rf_trfac(jl) ) ! read tracer data at nit000 276 ztrcdta(:,:,:) = sf_trcdta(jl)%fnow(:,:,:) 276 277 DO jc = 1, npncts 277 278 DO jk = 1, jpkm1 278 279 DO jj = nctsj1(jc), nctsj2(jc) 279 280 DO ji = nctsi1(jc), nctsi2(jc) 280 trn(ji,jj,jk,jn) = ztrcdta(ji,jj,jk ,jl) * tmask(ji,jj,jk)281 trn(ji,jj,jk,jn) = ztrcdta(ji,jj,jk) * tmask(ji,jj,jk) 281 282 trb(ji,jj,jk,jn) = trn(ji,jj,jk,jn) 282 283 ENDDO … … 286 287 ENDIF 287 288 ENDDO 288 CALL wrk_dealloc( jpi, jpj, jpk, nb_trcdta,ztrcdta )289 CALL wrk_dealloc( jpi, jpj, jpk, ztrcdta ) 289 290 ENDIF 290 291 ! -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/NEMO/TOP_SRC/par_trc.F90
r3680 r4201 17 17 18 18 IMPLICIT NONE 19 20 ! Passive tracers : Maximum number of tracers. Needed to define data structures 21 ! --------------- 22 INTEGER, PUBLIC, PARAMETER :: jpmaxtrc = 100 19 23 20 24 ! Passive tracers : Total size -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/NEMO/TOP_SRC/trcdta.F90
r3882 r4201 8 8 !! - ! 2005-03 (O. Aumont, A. El Moussaoui) F90 9 9 !! 3.4 ! 2010-11 (C. Ethe, G. Madec) use of fldread + dynamical allocation 10 !! 3.5 ! 2013-08 (M. Vichi) generalization for other BGC models 10 11 !!---------------------------------------------------------------------- 11 12 #if defined key_top … … 30 31 INTEGER , SAVE, PUBLIC :: nb_trcdta ! number of tracers to be initialised with data 31 32 INTEGER , SAVE, PUBLIC, ALLOCATABLE, DIMENSION(:) :: n_trc_index ! indice of tracer which is initialised with data 32 INTEGER , SAVE 33 REAL(wp) , SAVE, 34 TYPE(FLD), SAVE, 33 INTEGER , SAVE, PUBLIC :: ntra ! MAX( 1, nb_trcdta ) to avoid compilation error with bounds checking 34 REAL(wp) , SAVE, PUBLIC, ALLOCATABLE, DIMENSION(:) :: rf_trfac ! multiplicative factor for tracer values 35 TYPE(FLD), SAVE, PUBLIC, ALLOCATABLE, DIMENSION(:) :: sf_trcdta ! structure of input SST (file informations, fields read) 35 36 36 37 !! * Substitutions … … 43 44 CONTAINS 44 45 45 SUBROUTINE trc_dta_init 46 SUBROUTINE trc_dta_init(ntrc) 46 47 !!---------------------------------------------------------------------- 47 48 !! *** ROUTINE trc_dta_init *** … … 53 54 !!---------------------------------------------------------------------- 54 55 ! 55 INTEGER :: jl, jn ! dummy loop indicies 56 INTEGER,INTENT(IN) :: ntrc ! number of tracers 57 INTEGER :: jl, jn ! dummy loop indices 56 58 INTEGER :: ierr0, ierr1, ierr2, ierr3 ! temporary integers 59 INTEGER :: ios ! Local integer output status for namelist read 57 60 CHARACTER(len=100) :: clndta, clntrc 58 61 REAL(wp) :: zfact 59 62 ! 60 63 CHARACTER(len=100) :: cn_dir 61 TYPE(FLD_N), DIMENSION(jptra) :: slf_i! array of namelist informations on the fields to read62 TYPE(FLD_N), DIMENSION(jp tra) :: sn_trcdta63 REAL(wp) , DIMENSION(jp tra) :: rn_trfac ! multiplicative factor for tracer values64 TYPE(FLD_N), ALLOCATABLE, DIMENSION(:) :: slf_i ! array of namelist informations on the fields to read 65 TYPE(FLD_N), DIMENSION(jpmaxtrc) :: sn_trcdta 66 REAL(wp) , DIMENSION(jpmaxtrc) :: rn_trfac ! multiplicative factor for tracer values 64 67 !! 65 68 NAMELIST/namtrc_dta/ sn_trcdta, cn_dir, rn_trfac … … 71 74 ierr0 = 0 ; ierr1 = 0 ; ierr2 = 0 ; ierr3 = 0 72 75 ! Compute the number of tracers to be initialised with data 73 ALLOCATE( n_trc_index( jptra), STAT=ierr0 )76 ALLOCATE( n_trc_index(ntrc), slf_i(ntrc), STAT=ierr0 ) 74 77 IF( ierr0 > 0 ) THEN 75 78 CALL ctl_stop( 'trc_nam: unable to allocate n_trc_index' ) ; RETURN … … 77 80 nb_trcdta = 0 78 81 n_trc_index(:) = 0 79 DO jn = 1, jptra82 DO jn = 1, ntrc 80 83 IF( ln_trc_ini(jn) ) THEN 81 84 nb_trcdta = nb_trcdta + 1 … … 93 96 ! 94 97 cn_dir = './' ! directory in which the model is executed 95 DO jn = 1, jptra98 DO jn = 1, ntrc 96 99 WRITE( clndta,'("TR_",I1)' ) jn 97 100 clndta = TRIM( clndta ) … … 103 106 END DO 104 107 ! 108 !MAV temporary code for 3.5 105 109 REWIND( numnat ) ! read nattrc 106 110 READ ( numnat, namtrc_dta ) 111 !MAV future code for 3.6 112 ! REWIND( numnat_ref ) ! Namelist namtrc_dta in reference namelist : Passive tracer data 113 ! READ ( numnat_ref, namtrc_dta, IOSTAT = ios, ERR = 901) 114 !901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_dta in reference namelist', lwp ) 115 ! 116 ! REWIND( numnat_cfg ) ! Namelist namtrc_dta in configuration namelist : Passive tracer data 117 ! READ ( numnat_cfg, namtrc_dta, IOSTAT = ios, ERR = 902 ) 118 !902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_dta in configuration namelist', lwp ) 119 ! WRITE ( numont, namtrc_dta ) 107 120 108 121 IF( lwp ) THEN 109 DO jn = 1, jptra122 DO jn = 1, ntrc 110 123 IF( ln_trc_ini(jn) ) THEN ! open input file only if ln_trc_ini(jn) is true 111 124 clndta = TRIM( sn_trcdta(jn)%clvar ) … … 129 142 ENDIF 130 143 ! 131 DO jn = 1, jptra144 DO jn = 1, ntrc 132 145 IF( ln_trc_ini(jn) ) THEN ! update passive tracers arrays with input data read from file 133 146 jl = n_trc_index(jn) … … 147 160 ENDIF 148 161 ! 162 DEALLOCATE( slf_i ) ! deallocate local field structure 149 163 IF( nn_timing == 1 ) CALL timing_stop('trc_dta_init') 150 164 ! … … 152 166 153 167 154 SUBROUTINE trc_dta( kt, ptrc )168 SUBROUTINE trc_dta( kt, sf_dta, zrf_trfac ) 155 169 !!---------------------------------------------------------------------- 156 170 !! *** ROUTINE trc_dta *** … … 162 176 !! - ln_trcdmp=F: deallocates the data structure as they are not used 163 177 !! 164 !! ** Action : ptrcpassive tracer data on medl mesh and interpolated at time-step kt178 !! ** Action : sf_dta passive tracer data on medl mesh and interpolated at time-step kt 165 179 !!---------------------------------------------------------------------- 166 180 INTEGER , INTENT(in ) :: kt ! ocean time-step 167 REAL(wp), DIMENSION(:,:,:,:), INTENT( out) :: ptrc ! passive tracer data 168 ! 169 INTEGER :: ji, jj, jk, jl, jn, jkk, ik ! dummy loop indicies 181 TYPE(FLD), DIMENSION(1) , INTENT(inout) :: sf_dta ! array of information on the field to read 182 REAL(wp) , INTENT(in ) :: zrf_trfac ! multiplication factor 183 ! 184 INTEGER :: ji, jj, jk, jl, jkk, ik ! dummy loop indices 170 185 REAL(wp):: zl, zi 171 186 REAL(wp), DIMENSION(jpk) :: ztp ! 1D workspace … … 177 192 IF( nb_trcdta > 0 ) THEN 178 193 ! 179 CALL fld_read( kt, 1, sf_trcdta ) !== read data at kt time step ==! 180 ! 181 DO jn = 1, ntra 182 ptrc(:,:,:,jn) = sf_trcdta(jn)%fnow(:,:,:) ! NO mask 183 ENDDO 194 CALL fld_read( kt, 1, sf_dta ) !== read data at kt time step ==! 184 195 ! 185 196 IF( ln_sco ) THEN !== s- or mixed s-zps-coordinate ==! … … 190 201 ENDIF 191 202 ! 192 DO jn = 1, ntra193 203 DO jj = 1, jpj ! vertical interpolation of T & S 194 204 DO ji = 1, jpi … … 196 206 zl = fsdept_0(ji,jj,jk) 197 207 IF( zl < gdept_0(1 ) ) THEN ! above the first level of data 198 ztp(jk) = ptrc(ji,jj,1 ,jn)208 ztp(jk) = sf_dta(1)%fnow(ji,jj,1) 199 209 ELSEIF( zl > gdept_0(jpk) ) THEN ! below the last level of data 200 ztp(jk) = ptrc(ji,jj,jpkm1,jn)210 ztp(jk) = sf_dta(1)%fnow(ji,jj,jpkm1) 201 211 ELSE ! inbetween : vertical interpolation between jkk & jkk+1 202 212 DO jkk = 1, jpkm1 ! when gdept(jkk) < zl < gdept(jkk+1) 203 213 IF( (zl-gdept_0(jkk)) * (zl-gdept_0(jkk+1)) <= 0._wp ) THEN 204 214 zi = ( zl - gdept_0(jkk) ) / (gdept_0(jkk+1)-gdept_0(jkk)) 205 ztp(jk) = ptrc(ji,jj,jkk,jn) + ( ptrc(ji,jj,jkk+1,jn) - ptrc(ji,jj,jkk,jn) ) * zi 215 ztp(jk) = sf_dta(1)%fnow(ji,jj,jkk) + ( sf_dta(1)%fnow(ji,jj,jkk+1) - & 216 sf_dta(1)%fnow(ji,jj,jkk) ) * zi 206 217 ENDIF 207 218 END DO … … 209 220 END DO 210 221 DO jk = 1, jpkm1 211 ptrc(ji,jj,jk,jn) = ztp(jk) * tmask(ji,jj,jk) ! mask required for mixed zps-s-coord222 sf_dta(1)%fnow(ji,jj,jk) = ztp(jk) * tmask(ji,jj,jk) ! mask required for mixed zps-s-coord 212 223 END DO 213 ptrc(ji,jj,jpk,jn) = 0._wp224 sf_dta(1)%fnow(ji,jj,jpk) = 0._wp 214 225 END DO 215 226 END DO 216 ENDDO217 227 ! 218 228 ELSE !== z- or zps- coordinate ==! 219 229 ! 220 DO jn = 1, ntra 221 ptrc(:,:,:,jn) = ptrc(:,:,:,jn) * tmask(:,:,:) ! Mask 230 sf_dta(1)%fnow(:,:,:) = sf_dta(1)%fnow(:,:,:) * tmask(:,:,:) ! Mask 222 231 ! 223 232 IF( ln_zps ) THEN ! zps-coordinate (partial steps) interpolation at the last ocean level … … 227 236 IF( ik > 1 ) THEN 228 237 zl = ( gdept_0(ik) - fsdept_0(ji,jj,ik) ) / ( gdept_0(ik) - gdept_0(ik-1) ) 229 ptrc(ji,jj,ik,jn) = (1.-zl) * ptrc(ji,jj,ik,jn) + zl * ptrc(ji,jj,ik-1,jn)238 sf_dta(1)%fnow(ji,jj,ik) = (1.-zl) * sf_dta(1)%fnow(ji,jj,ik) + zl * sf_dta(1)%fnow(ji,jj,ik-1) 230 239 ENDIF 231 240 END DO 232 241 END DO 233 242 ENDIF 234 ENDDO235 243 ! 236 244 ENDIF 237 245 ! 238 DO jn = 1, ntra 239 ptrc(:,:,:,jn) = ptrc(:,:,:,jn) * rf_trfac(jn) ! multiplicative factor 240 ENDDO 246 sf_dta(1)%fnow(:,:,:) = sf_dta(1)%fnow(:,:,:) * zrf_trfac ! multiplicative factor 241 247 ! 242 248 IF( lwp .AND. kt == nit000 ) THEN 243 DO jn = 1, ntra 244 clndta = TRIM( sf_trcdta(jn)%clvar ) 249 clndta = TRIM( sf_dta(1)%clvar ) 245 250 WRITE(numout,*) ''//clndta//' data ' 246 251 WRITE(numout,*) 247 252 WRITE(numout,*)' level = 1' 248 CALL prihre( ptrc(:,:,1 ,jn), jpi, jpj, 1, jpi, 20, 1, jpj, 20, 1., numout )253 CALL prihre( sf_dta(1)%fnow(:,:,1), jpi, jpj, 1, jpi, 20, 1, jpj, 20, 1., numout ) 249 254 WRITE(numout,*)' level = ', jpk/2 250 CALL prihre( ptrc(:,:,jpk/2,jn), jpi, jpj, 1, jpi, 20, 1, jpj, 20, 1., numout )255 CALL prihre( sf_dta(1)%fnow(:,:,jpk/2), jpi, jpj, 1, jpi, 20, 1, jpj, 20, 1., numout ) 251 256 WRITE(numout,*)' level = ', jpkm1 252 CALL prihre( ptrc(:,:,jpkm1,jn), jpi, jpj, 1, jpi, 20, 1, jpj, 20, 1., numout )257 CALL prihre( sf_dta(1)%fnow(:,:,jpkm1), jpi, jpj, 1, jpi, 20, 1, jpj, 20, 1., numout ) 253 258 WRITE(numout,*) 254 ENDDO 255 ENDIF 256 257 IF( .NOT.ln_trcdmp .AND. .NOT.ln_trcdmp_clo ) THEN !== deallocate data structure ==! 258 ! (data used only for initialisation) 259 IF(lwp) WRITE(numout,*) 'trc_dta: deallocate data arrays as they are only use to initialize the run' 260 DO jn = 1, ntra 261 DEALLOCATE( sf_trcdta(jn)%fnow ) ! arrays in the structure 262 IF( sf_trcdta(jn)%ln_tint ) DEALLOCATE( sf_trcdta(jn)%fdta ) 263 ENDDO 264 DEALLOCATE( sf_trcdta ) ! the structure itself 265 ! 266 ENDIF 267 ! 268 ENDIF 269 ! 259 ENDIF 260 ENDIF 261 ! 270 262 IF( nn_timing == 1 ) CALL timing_stop('trc_dta') 271 263 ! … … 276 268 !!---------------------------------------------------------------------- 277 269 CONTAINS 278 SUBROUTINE trc_dta( kt ) ! Empty routine270 SUBROUTINE trc_dta( kt, sf_dta, zrf_trfac ) ! Empty routine 279 271 WRITE(*,*) 'trc_dta: You should not have seen this print! error?', kt 280 272 END SUBROUTINE trc_dta -
branches/2013/dev_CMCC_INGV_2013/NEMOGCM/NEMO/TOP_SRC/trcini.F90
r3680 r4201 24 24 USE trcini_c14b ! C14 bomb initialisation 25 25 USE trcini_my_trc ! MY_TRC initialisation 26 USE trcdta ! initialisation f orm files26 USE trcdta ! initialisation from files 27 27 USE daymod ! calendar manager 28 28 USE zpshde ! partial step: hor. derivative (zps_hde routine) … … 58 58 INTEGER :: jk, jn, jl ! dummy loop indices 59 59 CHARACTER (len=25) :: charout 60 REAL(wp), POINTER, DIMENSION(:,:,: ,:) :: ztrcdta ! 4D workspace60 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrcdta ! 4D workspace 61 61 !!--------------------------------------------------------------------- 62 62 ! … … 111 111 ENDIF 112 112 113 IF( ln_trcdta ) CALL trc_dta_init 113 IF( ln_trcdta ) CALL trc_dta_init(jptra) 114 114 115 115 … … 122 122 IF( ln_trcdta .AND. nb_trcdta > 0 ) THEN ! Initialisation of tracer from a file that may also be used for damping 123 123 ! 124 CALL wrk_alloc( jpi, jpj, jpk, nb_trcdta, ztrcdta ) ! Memory allocation 125 ! 126 CALL trc_dta( nit000, ztrcdta ) ! read tracer data at nit000 124 CALL wrk_alloc( jpi, jpj, jpk, ztrcdta ) ! Memory allocation 127 125 ! 128 126 DO jn = 1, jptra 129 127 IF( ln_trc_ini(jn) ) THEN ! update passive tracers arrays with input data read from file 130 128 jl = n_trc_index(jn) 131 trn(:,:,:,jn) = ztrcdta(:,:,:,jl) * tmask(:,:,:) 129 CALL trc_dta( nit000, sf_trcdta(jl),rf_trfac(jl) ) ! read tracer data at nit000 130 ztrcdta(:,:,:) = sf_trcdta(jl)%fnow(:,:,:) 131 trn(:,:,:,jn) = ztrcdta(:,:,:) * tmask(:,:,:) 132 IF( .NOT.ln_trcdmp .AND. .NOT.ln_trcdmp_clo ) THEN !== deallocate data structure ==! 133 ! (data used only for initialisation) 134 IF(lwp) WRITE(numout,*) 'trc_dta: deallocate data arrays as they are only used to initialize the run' 135 DEALLOCATE( sf_trcdta(jl)%fnow ) ! arrays in the structure 136 IF( sf_trcdta(jl)%ln_tint ) DEALLOCATE( sf_trcdta(jl)%fdta ) 137 ! 138 ENDIF 132 139 ENDIF 133 140 ENDDO 134 CALL wrk_dealloc( jpi, jpj, jpk, nb_trcdta,ztrcdta )141 CALL wrk_dealloc( jpi, jpj, jpk, ztrcdta ) 135 142 ENDIF 136 143 !
Note: See TracChangeset
for help on using the changeset viewer.