Changeset 4897 for branches/2014/dev_CNRS_2014/NEMOGCM
- Timestamp:
- 2014-11-27T16:08:14+01:00 (9 years ago)
- Location:
- branches/2014/dev_CNRS_2014/NEMOGCM
- Files:
-
- 124 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
branches/2014/dev_CNRS_2014/NEMOGCM/ARCH/arch-XC_ARCHER.fcm
r4338 r4897 31 31 %NCDF_HOME $NETCDF_DIR 32 32 %HDF5_HOME $HDF5_DIR 33 %XIOS_HOME /work/n01/n01/acc/XIOS 33 %XIOS_HOME /work/n01/n01/acc/XIOS_r474 34 34 #OASIS_HOME 35 35 … … 44 44 #FCFLAGS -em -s integer32 -s real64 -O3 45 45 #FFLAGS -em -s integer32 -s real64 -O3 46 %FCFLAGS -em -s integer32 - O0 -R b -s real64-e0 -eZ47 %FFLAGS -em -s integer32 - O0 -R b -s real64-e0 -eZ46 %FCFLAGS -em -s integer32 -s real64 -O0 -e0 -eZ 47 %FFLAGS -em -s integer32 -s real64 -O0 -e0 -eZ 48 48 %LD CC -Wl,"--allow-multiple-definition" 49 49 %FPPFLAGS -P -C -traditional -
branches/2014/dev_CNRS_2014/NEMOGCM/CONFIG/C1D_PAPA/EXP00/iodef.xml
r4158 r4897 21 21 --> 22 22 23 <file_definition type=" one_file" name="@expname@_@freq@_@startdate@_@enddate@" sync_freq="1d" min_digits="4">23 <file_definition type="multiple_file" name="@expname@_@freq@_@startdate@_@enddate@" sync_freq="1d" min_digits="4"> 24 24 25 25 <file_group id="1ts" output_freq="1ts" output_level="10" enabled=".TRUE."/> <!-- 1 time step files --> -
branches/2014/dev_CNRS_2014/NEMOGCM/CONFIG/C1D_PAPA/EXP00/namelist_cfg
r4370 r4897 7 7 cn_exp = "PAPA" ! experience name 8 8 nn_it000 = 1 ! first time step 9 nn_itend = 78840 ! last time step9 nn_itend = 87600 ! last time step 10 10 nn_date0 = 20100615 ! date at nit_0000 (format yyyymmdd) used if ln_rstart=F or (ln_rstart=T and nn_rstctl=0 or 1) 11 11 nn_leapy = 1 ! Leap year calendar (1) or not (0) 12 nn_stock = 78840 ! frequency of creation of a restart file (modulo referenced to 1)13 nn_write = 60 ! frequency of write in the output file (modulo referenced to nn_it000)12 nn_stock = 87600 ! frequency of creation of a restart file (modulo referenced to 1) 13 nn_write = 240 ! frequency of write in the output file (modulo referenced to nn_it000) 14 14 / 15 15 !----------------------------------------------------------------------- … … 38 38 &namdom ! space and time domain (bathymetry, mesh, timestep) 39 39 !----------------------------------------------------------------------- 40 nn_bathy = 0 ! compute (=0) or read (=1) the bathymetry file 40 41 rn_bathy = 4198. ! value of the bathymetry. if (=0) bottom flat at jpkm1 41 nn_msh = 3! create (=1) a mesh file or not (=0)42 rn_rdt = 400. ! time step for the dynamics (and tracer if nn_acc=0)42 nn_msh = 0 ! create (=1) a mesh file or not (=0) 43 rn_rdt = 360. ! time step for the dynamics (and tracer if nn_acc=0) 43 44 rn_rdtmin = 360. ! minimum time step on tracers (used if nn_acc=1) 44 45 rn_rdtmax = 360. ! maximum time step on tracers (used if nn_acc=1) … … 72 73 / 73 74 !----------------------------------------------------------------------- 75 &namc1d ! 1D configuration options ("key_c1d") 76 !----------------------------------------------------------------------- 77 ln_c1d_locpt= .false. ! Localization of 1D config in a grid (T) or independant point (F) 78 / 79 !----------------------------------------------------------------------- 74 80 &namtsd ! data : Temperature & Salinity 75 81 !----------------------------------------------------------------------- … … 81 87 cn_dir = './' ! root directory for the location of the runoff files 82 88 ln_tsd_init = .true. ! Initialisation of ocean T & S with T &S input data (T) or not (F) 83 ln_tsd_tradmp = . true. ! damping of ocean T & S toward T &S input data (T) or not (F)89 ln_tsd_tradmp = .false. ! damping of ocean T & S toward T &S input data (T) or not (F) 84 90 / 85 91 !----------------------------------------------------------------------- … … 112 118 ! ! file name ! frequency (hours) ! variable ! time interp. ! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask ! 113 119 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename ! 114 sn_wndi = 'forcing_PAPASTATION ' , 1 , 'wndwe' , .true. , .false. , 'yearly' , '' , '', ''115 sn_wndj = 'forcing_PAPASTATION ' , 1 , 'wndsn' , .true. , .false. , 'yearly' , '' , '', ''116 sn_qsr = 'forcing_PAPASTATION ' , 1 , 'qsr' , .false. , .false. , 'yearly' , '' , '', ''117 sn_qlw = 'forcing_PAPASTATION ' , 1 , 'qlw' , .false. , .false. , 'yearly' , '' , '', ''118 sn_tair = 'forcing_PAPASTATION ' , 1 , 'tair' , .true. , .false. , 'yearly' , '' , '', ''119 sn_humi = 'forcing_PAPASTATION ' , 1 , 'humi' , .true. , .false. , 'yearly' , '' , '', ''120 sn_prec = 'forcing_PAPASTATION ' , 1 , 'prec' , .false. , .false. , 'yearly' , '' , '', ''121 sn_snow = 'forcing_PAPASTATION ' , 1 , 'snow' , .false. , .false. , 'yearly' , '' , '', ''120 sn_wndi = 'forcing_PAPASTATION_1h' , 1 , 'wndwe' , .true. , .false. , 'yearly' , '' , '', '' 121 sn_wndj = 'forcing_PAPASTATION_1h' , 1 , 'wndsn' , .true. , .false. , 'yearly' , '' , '', '' 122 sn_qsr = 'forcing_PAPASTATION_1h' , 1 , 'qsr' , .false. , .false. , 'yearly' , '' , '', '' 123 sn_qlw = 'forcing_PAPASTATION_1h' , 1 , 'qlw' , .false. , .false. , 'yearly' , '' , '', '' 124 sn_tair = 'forcing_PAPASTATION_1h' , 1 , 'tair' , .true. , .false. , 'yearly' , '' , '', '' 125 sn_humi = 'forcing_PAPASTATION_1h' , 1 , 'humi' , .true. , .false. , 'yearly' , '' , '', '' 126 sn_prec = 'forcing_PAPASTATION_1h' , 1 , 'prec' , .false. , .false. , 'yearly' , '' , '', '' 127 sn_snow = 'forcing_PAPASTATION_1h' , 1 , 'snow' , .false. , .false. , 'yearly' , '' , '', '' 122 128 ln_2m = .true. ! air temperature and humidity referenced at 2m (T) instead 10m (F) 123 129 / … … 225 231 &namtra_ldf ! lateral diffusion scheme for tracers 226 232 !---------------------------------------------------------------------------------- 233 !---------------------------------------------------------------------------------- 234 ln_traldf_hor = .true. ! horizontal (geopotential) (needs "key_ldfslp" when ln_sco=T) 235 ln_traldf_iso = .false. ! iso-neutral (needs "key_ldfslp") 227 236 rn_aeiv_0 = 0. ! eddy induced velocity coefficient [m2/s] 228 237 rn_aht_0 = 0. ! horizontal eddy diffusivity for tracers [m2/s] … … 244 253 / 245 254 !----------------------------------------------------------------------- 255 &namc1d_uvd ! data: U & V currents ("key_c1d") 256 !----------------------------------------------------------------------- 257 / 258 !----------------------------------------------------------------------- 246 259 &namdyn_hpg ! Hydrostatic pressure gradient option 247 260 !----------------------------------------------------------------------- … … 258 271 &namzdf ! vertical physics 259 272 !----------------------------------------------------------------------- 260 rn_avm0 = 5.0e-6 !rbb 1.2e-4 ! vertical eddy viscosity [m2/s] (background Kz if not "key_zdfcst")261 rn_avt0 = 5.0e-6 !rbb 1.2e-5 ! vertical eddy diffusivity [m2/s] (background Kz if not "key_zdfcst")273 ! rn_avm0 = 5.0e-6 !rbb 1.2e-4 ! vertical eddy viscosity [m2/s] (background Kz if not "key_zdfcst") 274 ! rn_avt0 = 5.0e-6 !rbb 1.2e-5 ! vertical eddy diffusivity [m2/s] (background Kz if not "key_zdfcst") 262 275 ln_zdfevd = .false. !rbb .true. ! enhanced vertical diffusion (evd) (T) or not (F) 263 276 / -
branches/2014/dev_CNRS_2014/NEMOGCM/CONFIG/C1D_PAPA/cpp_C1D_PAPA.fcm
r4247 r4897 1 bld::tool::fppkeys key_c1d key_ dynspg_flt key_diahth key_zdfgls key_iomput key_mpp_mpi1 bld::tool::fppkeys key_c1d key_zdfgls -
branches/2014/dev_CNRS_2014/NEMOGCM/CONFIG/SHARED/namelist_ref
r4896 r4897 184 184 / 185 185 !----------------------------------------------------------------------- 186 &namc1d ! 1D configuration options ("key_c1d") 187 !----------------------------------------------------------------------- 188 rn_lat1d = 50 ! Column latitude (default at PAPA station) 189 rn_lon1d = -145 ! Column longitude (default at PAPA station) 190 ln_c1d_locpt= .true. ! Localization of 1D config in a grid (T) or independant point (F) 191 / 192 !----------------------------------------------------------------------- 186 193 &namtsd ! data : Temperature & Salinity 187 194 !----------------------------------------------------------------------- … … 971 978 ! (no physical validity of the results) 972 979 nn_timing = 0 ! timing by routine activated (=1) creates timing.output file, or not (=0) 973 /974 !-----------------------------------------------------------------------975 &namc1d ! 1D configuration options ("key_c1d")976 !-----------------------------------------------------------------------977 rn_lat = 50 ! Column latitude978 rn_lon = -145 ! Column longitude979 980 / 980 981 !----------------------------------------------------------------------- -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/LIM_SRC_2/iceini_2.F90
r4607 r4897 82 82 CALL ctl_opn( numnam_ice_ref, 'namelist_ice_ref', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp ) 83 83 CALL ctl_opn( numnam_ice_cfg, 'namelist_ice_cfg', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp ) 84 CALL ctl_opn( numoni,'output.namelist.ice', 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp, 1 )84 IF(lwm) CALL ctl_opn( numoni, 'output.namelist.ice', 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp, 1 ) 85 85 86 86 ! ! Open the namelist file … … 134 134 READ ( numnam_ice_cfg, namicerun, IOSTAT = ios, ERR = 902 ) 135 135 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namicerun in configuration namelist', lwp ) 136 WRITE ( numoni, namicerun )136 IF(lwm) WRITE ( numoni, namicerun ) 137 137 ! 138 138 IF(lwp) THEN ! control print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/LIM_SRC_2/limdia_2.F90
r4338 r4897 188 188 READ ( numnam_ice_cfg, namicedia, IOSTAT = ios, ERR = 902 ) 189 189 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namicedia in configuration namelist', lwp ) 190 WRITE ( numoni, namicedia )190 IF(lwm) WRITE ( numoni, namicedia ) 191 191 192 192 IF(lwp) THEN ! control print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/LIM_SRC_2/limdmp_2.F90
r4147 r4897 118 118 READ ( numnam_ice_cfg, namice_dmp, IOSTAT = ios, ERR = 902 ) 119 119 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namice_dmp in configuration namelist', lwp ) 120 WRITE ( numoni, namice_dmp )120 IF(lwm) WRITE ( numoni, namice_dmp ) 121 121 ! 122 122 IF ( lwp ) THEN !* control print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/LIM_SRC_2/limdyn_2.F90
r4161 r4897 238 238 READ ( numnam_ice_cfg, namicedyn, IOSTAT = ios, ERR = 902 ) 239 239 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namicedyn in configuration namelist', lwp ) 240 WRITE ( numoni, namicedyn )240 IF(lwm) WRITE ( numoni, namicedyn ) 241 241 242 242 IF(lwp) THEN ! Control print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/LIM_SRC_2/limistate_2.F90
r4896 r4897 174 174 READ ( numnam_ice_cfg, namiceini, IOSTAT = ios, ERR = 902 ) 175 175 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namiceini in configuration namelist', lwp ) 176 WRITE ( numoni, namiceini )176 IF(lwm) WRITE ( numoni, namiceini ) 177 177 ! 178 178 IF(lwp) THEN -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/LIM_SRC_2/limthd_2.F90
r4306 r4897 550 550 READ ( numnam_ice_cfg, namicethd, IOSTAT = ios, ERR = 902 ) 551 551 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namicethd in configuration namelist', lwp ) 552 WRITE ( numoni, namicethd )552 IF(lwm) WRITE ( numoni, namicethd ) 553 553 554 554 IF( lk_cpl .AND. parsub /= 0.0 ) CALL ctl_stop( 'In coupled mode, use parsub = 0. or send dqla' ) -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/LIM_SRC_2/limtrp_2.F90
r4147 r4897 308 308 READ ( numnam_ice_cfg, namicetrp, IOSTAT = ios, ERR = 902 ) 309 309 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namicetrp in configuration namelist', lwp ) 310 WRITE ( numoni, namicetrp )310 IF(lwm) WRITE ( numoni, namicetrp ) 311 311 312 312 IF(lwp) THEN -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/LIM_SRC_2/limwri_2.F90
r4251 r4897 264 264 READ ( numnam_ice_cfg, namiceout, IOSTAT = ios, ERR = 902 ) 265 265 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namiceout in configuration namelist', lwp ) 266 WRITE ( numoni, namiceout )266 IF(lwm) WRITE ( numoni, namiceout ) 267 267 268 268 zfield( 1) = field_1 -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/LIM_SRC_3/iceini.F90
r4333 r4897 74 74 CALL ctl_opn( numnam_ice_ref, 'namelist_ice_ref', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp ) 75 75 CALL ctl_opn( numnam_ice_cfg, 'namelist_ice_cfg', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp ) 76 CALL ctl_opn( numoni,'output.namelist.ice', 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp, 1 )76 IF(lwm) CALL ctl_opn( numoni, 'output.namelist.ice', 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp, 1 ) 77 77 ! 78 78 CALL ice_run ! set some ice run parameters … … 141 141 READ ( numnam_ice_cfg, namicerun, IOSTAT = ios, ERR = 902 ) 142 142 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namicerun in configuration namelist', lwp ) 143 WRITE ( numoni, namicerun )143 IF(lwm) WRITE ( numoni, namicerun ) 144 144 ! 145 145 !IF( lk_mpp .AND. ln_nicep ) THEN -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/LIM_SRC_3/limdyn.F90
r4161 r4897 282 282 READ ( numnam_ice_cfg, namicedyn, IOSTAT = ios, ERR = 902 ) 283 283 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namicedyn in configuration namelist', lwp ) 284 WRITE ( numoni, namicedyn )284 IF(lwm) WRITE ( numoni, namicedyn ) 285 285 286 286 IF(lwp) THEN ! control print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/LIM_SRC_3/limistate.F90
r4896 r4897 505 505 READ ( numnam_ice_cfg, namiceini, IOSTAT = ios, ERR = 902 ) 506 506 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namiceini in configuration namelist', lwp ) 507 WRITE ( numoni, namiceini )507 IF(lwm) WRITE ( numoni, namiceini ) 508 508 509 509 ! Define the initial parameters -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/LIM_SRC_3/limitd_me.F90
r4346 r4897 1418 1418 READ ( numnam_ice_cfg, namiceitdme, IOSTAT = ios, ERR = 902 ) 1419 1419 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namiceitdme in configuration namelist', lwp ) 1420 WRITE ( numoni, namiceitdme )1420 IF(lwm) WRITE ( numoni, namiceitdme ) 1421 1421 ! 1422 1422 IF (lwp) THEN ! control print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/LIM_SRC_3/limthd.F90
r4333 r4897 837 837 READ ( numnam_ice_cfg, namicethd, IOSTAT = ios, ERR = 902 ) 838 838 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namicethd in configuration namelist', lwp ) 839 WRITE ( numoni, namicethd )839 IF(lwm) WRITE ( numoni, namicethd ) 840 840 ! 841 841 IF(lwp) THEN ! control print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/LIM_SRC_3/limthd_sal.F90
r4161 r4897 193 193 READ ( numnam_ice_cfg, namicesal, IOSTAT = ios, ERR = 902 ) 194 194 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namicesal in configuration namelist', lwp ) 195 WRITE ( numoni, namicesal )195 IF(lwm) WRITE ( numoni, namicesal ) 196 196 ! 197 197 IF(lwp) THEN ! control print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/LIM_SRC_3/limwri.F90
r4333 r4897 469 469 READ ( numnam_ice_cfg, namiceout, IOSTAT = ios, ERR = 902 ) 470 470 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namiceout in configuration namelist', lwp ) 471 WRITE ( numoni, namiceout )471 IF(lwm) WRITE ( numoni, namiceout ) 472 472 473 473 zfield(1) = field_1 -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/NST_SRC/agrif_user.F90
r4486 r4897 624 624 READ ( numnam_cfg, namagrif, IOSTAT = ios, ERR = 902 ) 625 625 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namagrif in configuration namelist', lwp ) 626 WRITE ( numond, namagrif )626 IF(lwm) WRITE ( numond, namagrif ) 627 627 ! 628 628 IF(lwp) THEN ! control print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OFF_SRC/domain.F90
r4382 r4897 139 139 READ ( numnam_cfg, namrun, IOSTAT = ios, ERR = 902 ) 140 140 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namrun in configuration namelist', lwp ) 141 WRITE ( numond, namrun )141 IF(lwm) WRITE ( numond, namrun ) 142 142 ! 143 143 IF(lwp) THEN ! control print … … 215 215 READ ( numnam_cfg, namdom, IOSTAT = ios, ERR = 904 ) 216 216 904 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdom in configuration namelist', lwp ) 217 WRITE ( numond, namdom )217 IF(lwm) WRITE ( numond, namdom ) 218 218 219 219 IF(lwp) THEN … … 276 276 READ ( numnam_cfg, namcla, IOSTAT = ios, ERR = 906 ) 277 277 906 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcla in configuration namelist', lwp ) 278 WRITE( numond, namcla )278 IF(lwm) WRITE( numond, namcla ) 279 279 280 280 IF(lwp) THEN … … 293 293 READ ( numnam_cfg, namnc4, IOSTAT = ios, ERR = 908 ) 294 294 908 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namnc4 in configuration namelist', lwp ) 295 WRITE( numond, namnc4 )295 IF(lwm) WRITE( numond, namnc4 ) 296 296 IF(lwp) THEN ! control print 297 297 WRITE(numout,*) … … 345 345 READ ( numnam_cfg, namzgr, IOSTAT = ios, ERR = 902 ) 346 346 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzgr in configuration namelist', lwp ) 347 WRITE ( numond, namzgr )347 IF(lwm) WRITE ( numond, namzgr ) 348 348 349 349 IF(lwp) THEN ! Control print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OFF_SRC/dtadyn.F90
r4896 r4897 350 350 READ ( numnam_cfg, namdta_dyn, IOSTAT = ios, ERR = 902 ) 351 351 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdta_dyn in configuration namelist', lwp ) 352 WRITE ( numond, namdta_dyn )352 IF(lwm) WRITE ( numond, namdta_dyn ) 353 353 ! ! store namelist information in an array 354 354 ! ! Control print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OFF_SRC/nemogcm.F90
r4319 r4897 155 155 CALL ctl_opn( numnam_ref, 'namelist_ref', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE. ) 156 156 CALL ctl_opn( numnam_cfg, 'namelist_cfg', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE. ) 157 CALL ctl_opn( numond, 'output.namelist.dyn', 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE. , 1 )158 157 ! 159 158 REWIND( numnam_ref ) ! Namelist namctl in reference namelist : Control prints & Benchmark … … 164 163 READ ( numnam_cfg, namctl, IOSTAT = ios, ERR = 902 ) 165 164 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namctl in configuration namelist', .TRUE. ) 166 WRITE( numond, namctl )167 165 168 166 ! … … 174 172 READ ( numnam_cfg, namcfg, IOSTAT = ios, ERR = 904 ) 175 173 904 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcfg in configuration namelist', .TRUE. ) 176 WRITE( numond, namcfg )177 174 178 175 ! 179 176 ! !--------------------------------------------! 180 177 ! ! set communicator & select the local node ! 178 ! ! NB: mynode also opens output.namelist.dyn ! 179 ! ! on unit number numond on first proc ! 181 180 ! !--------------------------------------------! 182 181 #if defined key_iomput 183 182 CALL xios_initialize( "nemo",return_comm=ilocal_comm ) 184 183 narea = mynode( cltxt, numnam_ref, numnam_cfg, numond , nstop, ilocal_comm ) ! Nodes selection 185 184 #else … … 190 189 narea = narea + 1 ! mynode return the rank of proc (0 --> jpnij -1 ) 191 190 191 lwm = (narea == 1) ! control of output namelists 192 192 lwp = (narea == 1) .OR. ln_ctl ! control of all listing output print 193 194 IF(lwm) THEN 195 ! write merged namelists from earlier to output namelist now that the 196 ! file has been opened in call to mynode. nammpp has already been 197 ! written in mynode (if lk_mpp_mpi) 198 WRITE( numond, namctl ) 199 WRITE( numond, namcfg ) 200 ENDIF 193 201 194 202 ! If dimensions of processor grid weren't specified in the namelist file … … 257 265 CALL phy_cst ! Physical constants 258 266 CALL eos_init ! Equation of state 267 IF( lk_c1d ) CALL c1d_init ! 1D column configuration 259 268 CALL dom_cfg ! Domain configuration 260 269 CALL dom_init ! Domain -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OOO_SRC/nemogcm.F90
r4319 r4897 141 141 CALL ctl_opn( numnam_ref, 'namelist_ref', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE. ) 142 142 CALL ctl_opn( numnam_cfg, 'namelist_cfg', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE. ) 143 CALL ctl_opn( numond, 'output.namelist.dyn', 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE. , 1 )144 143 ! 145 144 REWIND( numnam_ref ) ! Namelist namctl in reference namelist : Control prints & Benchmark … … 150 149 READ ( numnam_cfg, namctl, IOSTAT = ios, ERR = 902 ) 151 150 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namctl in configuration namelist', .TRUE. ) 152 WRITE( numond, namctl )153 151 154 152 ! … … 160 158 READ ( numnam_cfg, namcfg, IOSTAT = ios, ERR = 904 ) 161 159 904 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcfg in configuration namelist', .TRUE. ) 162 WRITE( numond, namcfg )163 160 164 161 ! !--------------------------------------------! 165 162 ! ! set communicator & select the local node ! 163 ! ! NB: mynode also opens output.namelist.dyn ! 164 ! ! on unit number numond on first proc ! 166 165 ! !--------------------------------------------! 167 166 #if defined key_iomput … … 174 173 # endif 175 174 ENDIF 176 narea = mynode( cltxt, numnam , nstop, ilocal_comm ) ! Nodes selection175 narea = mynode( cltxt, numnam_ref, numnam_cfg, numond , nstop, ilocal_comm ) ! Nodes selection 177 176 #else 178 177 # if defined key_oasis3 || defined key_oasis4 … … 180 179 CALL cpl_prism_init( ilocal_comm ) ! nemo local communicator given by oasis 181 180 ENDIF 182 narea = mynode( cltxt, numnam , nstop, ilocal_comm ) ! Nodes selection (control print return in cltxt)181 narea = mynode( cltxt, numnam_ref, numnam_cfg, numond , nstop, ilocal_comm ) ! Nodes selection (control print return in cltxt) 183 182 # else 184 183 ilocal_comm = 0 185 narea = mynode( cltxt, numnam , nstop )! Nodes selection (control print return in cltxt)184 narea = mynode( cltxt, numnam_ref, numnam_cfg, numond , nstop ) ! Nodes selection (control print return in cltxt) 186 185 # endif 187 186 #endif 188 187 narea = narea + 1 ! mynode return the rank of proc (0 --> jpnij -1 ) 189 188 189 lwm = (narea == 1) ! control of output namelists 190 190 lwp = (narea == 1) .OR. ln_ctl ! control of all listing output print 191 192 IF(lwm) THEN 193 ! write merged namelists from earlier to output namelist now that the 194 ! file has been opened in call to mynode. nammpp has already been 195 ! written in mynode (if lk_mpp_mpi) 196 WRITE( numond, namctl ) 197 WRITE( numond, namcfg ) 198 ENDIF 191 199 192 200 ! If dimensions of processor grid weren't specified in the namelist file -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/ASM/asminc.F90
r4896 r4897 149 149 READ ( numnam_cfg, nam_asminc, IOSTAT = ios, ERR = 902 ) 150 150 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_asminc in configuration namelist', lwp ) 151 WRITE ( numond, nam_asminc )151 IF(lwm) WRITE ( numond, nam_asminc ) 152 152 153 153 ! Control print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/BDY/bdydta.F90
r4608 r4897 532 532 READ ( numnam_cfg, nambdy_dta, IOSTAT = ios, ERR = 902 ) 533 533 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy_dta in configuration namelist', lwp ) 534 WRITE ( numond, nambdy_dta )534 IF(lwm) WRITE ( numond, nambdy_dta ) 535 535 536 536 cn_dir_array(ib_bdy) = cn_dir … … 740 740 jstart = 1 741 741 DO ib_bdy = 1, nb_bdy 742 jend = nb_bdy_fld(ib_bdy)742 jend = jstart - 1 + nb_bdy_fld(ib_bdy) 743 743 CALL fld_fill( bf(jstart:jend), blf_i(jstart:jend), cn_dir_array(ib_bdy), 'bdy_dta', & 744 744 & 'open boundary conditions', 'nambdy_dta' ) -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/BDY/bdyini.F90
r4354 r4897 132 132 READ ( numnam_cfg, nambdy, IOSTAT = ios, ERR = 902 ) 133 133 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy in configuration namelist', lwp ) 134 WRITE ( numond, nambdy )134 IF(lwm) WRITE ( numond, nambdy ) 135 135 136 136 ! ----------------------------------------- … … 418 418 READ ( numnam_cfg, nambdy_index, IOSTAT = ios, ERR = 904 ) 419 419 904 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy_index in configuration namelist', lwp ) 420 WRITE ( numond, nambdy_index )420 IF(lwm) WRITE ( numond, nambdy_index ) 421 421 422 422 SELECT CASE ( TRIM(ctypebdy) ) -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/BDY/bdytides.F90
r4354 r4897 117 117 READ ( numnam_cfg, nambdy_tide, IOSTAT = ios, ERR = 902 ) 118 118 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy_tide in configuration namelist', lwp ) 119 WRITE ( numond, nambdy_tide )119 IF(lwm) WRITE ( numond, nambdy_tide ) 120 120 ! ! Parameter control and print 121 121 IF(lwp) WRITE(numout,*) ' ' -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/C1D/c1d.F90
r4247 r4897 27 27 REAL(wp), PUBLIC :: rn_lat1d ! Column latitude 28 28 REAL(wp), PUBLIC :: rn_lon1d ! Column longitude 29 LOGICAL , PUBLIC :: ln_c1d_locpt ! Localization (or not) of 1D column in a grid 29 30 30 31 !!---------------------------------------------------------------------- … … 44 45 !!---------------------------------------------------------------------- 45 46 INTEGER :: ios ! Local integer output status for namelist read 46 NAMELIST/namc1d/ rn_lat1d, rn_lon1d 47 NAMELIST/namc1d/ rn_lat1d, rn_lon1d , ln_c1d_locpt 47 48 !!---------------------------------------------------------------------- 48 49 ! … … 55 56 READ ( numnam_cfg, namc1d, IOSTAT = ios, ERR = 902 ) 56 57 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namc1d in configuration namelist', lwp ) 57 WRITE ( numond, namc1d )58 IF(lwm) WRITE ( numond, namc1d ) 58 59 59 60 ! … … 63 64 WRITE(numout,*) '~~~~~~~~' 64 65 WRITE(numout,*) ' Namelist namc1d : set options for the C1D model' 65 WRITE(numout,*) ' column latitude rn_lat1d = ', rn_lat1d 66 WRITE(numout,*) ' column longitude rn_lon1d = ', rn_lon1d 66 WRITE(numout,*) ' column latitude rn_lat1d = ', rn_lat1d 67 WRITE(numout,*) ' column longitude rn_lon1d = ', rn_lon1d 68 WRITE(numout,*) ' column localization in a grid ln_c1d_locpt = ', ln_c1d_locpt 67 69 ENDIF 68 70 ! … … 78 80 LOGICAL, PUBLIC, PARAMETER :: lk_c1d = .FALSE. !: 1D config. flag de-activated 79 81 REAL(wp) :: rn_lat1d, rn_lon1d 82 LOGICAL , PUBLIC :: ln_c1d_locpt = .FALSE. 83 80 84 CONTAINS 81 85 -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/C1D/domc1d.F90
r4245 r4897 43 43 !! ** Action : Recalculate jpizoom, jpjzoom (indices of C1D zoom) 44 44 !!---------------------------------------------------------------------- 45 NAMELIST/namdom/ nn_bathy, rn_bathy , rn_e3zps_min, rn_e3zps_rat, nn_msh, rn_hmin, & 46 & nn_acc , rn_atfp , rn_rdt , rn_rdtmin , & 47 & rn_rdtmax, rn_rdth , nn_closea , ln_crs, & 48 & jphgr_msh, & 49 & ppglam0, ppgphi0, ppe1_deg, ppe2_deg, ppe1_m, ppe2_m, & 50 & ppsur, ppa0, ppa1, ppkth, ppacr, ppdzmin, pphmax, ldbletanh, & 51 & ppa2, ppkth2, ppacr2 52 45 53 INTEGER :: ji, jj ! Dummy loop indices 46 54 INTEGER :: inum ! Coordinate file handle (case 0) 47 55 INTEGER :: ijeq ! Index of equator T point (case 4) 56 INTEGER :: ios ! Local integer output status for namelist read 48 57 49 58 INTEGER , DIMENSION(2) :: iloc ! Minloc returned indices … … 63 72 IF( nn_timing == 1 ) CALL timing_start('dom_c1d') 64 73 74 REWIND( numnam_ref ) ! Namelist namdom in reference namelist : space & time domain (bathymetry, mesh, timestep) 75 READ ( numnam_ref, namdom, IOSTAT = ios, ERR = 901 ) 76 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdom in reference namelist', lwp ) 77 78 ! 79 REWIND( numnam_cfg ) ! Namelist namdom in configuration namelist : space & time domain (bathymetry, mesh, timestep) 80 READ ( numnam_cfg, namdom, IOSTAT = ios, ERR = 902 ) 81 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdom in configuration namelist', lwp ) 82 65 83 CALL wrk_alloc( jpidta, jpjdta, gphidta, glamdta, zdist ) 66 84 … … 80 98 CALL iom_get( inum, jpdom_unknown, 'gphit', gphidta ) ! so use jpdom_unknown not jpdom_data 81 99 CALL iom_close ( inum ) 82 83 PRINT *,'Check dom_c1d coordinates file data read in:' !!!84 PRINT *,'Bottom-left most glamdta is ', glamdta(1,1) !!! Need to check85 PRINT *,'Bottom-left most gphidta is ', gphidta(1,1) !!! field read86 PRINT *,'We are using nimpp,njmpp = ' , nimpp,njmpp !!!87 100 88 101 CASE ( 1 ) ! geographical mesh on the sphere with regular grid-spacing -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/C1D/dtauvd.F90
r4294 r4897 73 73 READ ( numnam_cfg, namc1d_uvd, IOSTAT = ios, ERR = 902 ) 74 74 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namc1d_uvd in configuration namelist', lwp ) 75 WRITE ( numond, namc1d_uvd )75 IF(lwm) WRITE ( numond, namc1d_uvd ) 76 76 77 77 ! ! force the initialization when dyndmp is used -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/C1D/dyndmp.F90
r4896 r4897 82 82 READ ( numnam_cfg, namc1d_dyndmp, IOSTAT = ios, ERR = 902 ) 83 83 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namc1d_dyndmp in configuration namelist', lwp ) 84 WRITE ( numond, namc1d_dyndmp )84 IF(lwm) WRITE ( numond, namc1d_dyndmp ) 85 85 86 86 IF(lwp) THEN ! control print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/CRS/crsini.F90
r4294 r4897 92 92 READ ( numnam_cfg, namcrs, IOSTAT = ios, ERR = 902 ) 93 93 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcrs in configuration namelist', lwp ) 94 WRITE ( numond, namcrs )94 IF(lwm) WRITE ( numond, namcrs ) 95 95 96 96 IF(lwp) THEN -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/DIA/diadct.F90
r4613 r4897 151 151 READ ( numnam_cfg, namdct, IOSTAT = ios, ERR = 902 ) 152 152 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdct in configuration namelist', lwp ) 153 WRITE ( numond, namdct )153 IF(lwm) WRITE ( numond, namdct ) 154 154 155 155 IF( lwp ) THEN -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/DIA/diaharm.F90
r4292 r4897 94 94 READ ( numnam_cfg, nam_diaharm, IOSTAT = ios, ERR = 902 ) 95 95 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_diaharm in configuration namelist', lwp ) 96 WRITE ( numond, nam_diaharm )96 IF(lwm) WRITE ( numond, nam_diaharm ) 97 97 ! 98 98 IF(lwp) THEN -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/DIA/diahsb.F90
r4558 r4897 221 221 READ ( numnam_cfg, namhsb, IOSTAT = ios, ERR = 902 ) 222 222 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namhsb in configuration namelist', lwp ) 223 WRITE ( numond, namhsb )223 IF(lwm) WRITE ( numond, namhsb ) 224 224 225 225 ! -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/DIA/diaptr.F90
r4896 r4897 467 467 READ ( numnam_cfg, namptr, IOSTAT = ios, ERR = 902 ) 468 468 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namptr in configuration namelist', lwp ) 469 WRITE ( numond, namptr )469 IF(lwm) WRITE ( numond, namptr ) 470 470 471 471 IF(lwp) THEN ! Control print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/DOM/dom_oce.F90
r4488 r4897 153 153 INTEGER, PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: nldit , nldjt !: first, last indoor index for each i-domain 154 154 INTEGER, PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: nleit , nlejt !: first, last indoor index for each j-domain 155 INTEGER, PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: nfiimpp, nfipproc, nfilcit 155 156 156 157 !!---------------------------------------------------------------------- … … 329 330 ierr(:) = 0 330 331 ! 331 ALLOCATE( rdttra(jpk), r2dtra(jpk), mig(jpi), mjg(jpj), STAT=ierr(1) ) 332 ALLOCATE( rdttra(jpk), r2dtra(jpk), mig(jpi), mjg(jpj), nfiimpp(jpni,jpnj), & 333 & nfipproc(jpni,jpnj), nfilcit(jpni,jpnj), STAT=ierr(1) ) 332 334 ! 333 335 ALLOCATE( nimppt(jpnij) , ibonit(jpnij) , nlcit(jpnij) , nlcjt(jpnij) , & -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/DOM/domain.F90
r4490 r4897 159 159 READ ( numnam_cfg, namrun, IOSTAT = ios, ERR = 902 ) 160 160 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namrun in configuration namelist', lwp ) 161 WRITE ( numond, namrun )161 IF(lwm) WRITE ( numond, namrun ) 162 162 ! 163 163 IF(lwp) THEN ! control print … … 241 241 READ ( numnam_cfg, namdom, IOSTAT = ios, ERR = 904 ) 242 242 904 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdom in configuration namelist', lwp ) 243 WRITE ( numond, namdom )243 IF(lwm) WRITE ( numond, namdom ) 244 244 245 245 IF(lwp) THEN … … 303 303 READ ( numnam_cfg, namcla, IOSTAT = ios, ERR = 906 ) 304 304 906 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcla in configuration namelist', lwp ) 305 WRITE( numond, namcla )305 IF(lwm) WRITE( numond, namcla ) 306 306 307 307 IF(lwp) THEN … … 327 327 READ ( numnam_cfg, namnc4, IOSTAT = ios, ERR = 908 ) 328 328 908 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namnc4 in configuration namelist', lwp ) 329 WRITE( numond, namnc4 )329 IF(lwm) WRITE( numond, namnc4 ) 330 330 331 331 IF(lwp) THEN ! control print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/DOM/domcfg.F90
r4245 r4897 82 82 !!---------------------------------------------------------------------- 83 83 ! ! recalculate jpizoom/jpjzoom given lat/lon 84 IF( lk_c1d ) CALL dom_c1d( rn_lat1d, rn_lon1d )84 IF( lk_c1d .AND. ln_c1d_locpt ) CALL dom_c1d( rn_lat1d, rn_lon1d ) 85 85 ! 86 86 ! ! ============== ! -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/DOM/dommsk.F90
r4328 r4897 152 152 READ ( numnam_cfg, namlbc, IOSTAT = ios, ERR = 902 ) 153 153 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlbc in configuration namelist', lwp ) 154 WRITE ( numond, namlbc )154 IF(lwm) WRITE ( numond, namlbc ) 155 155 156 156 IF(lwp) THEN ! control print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/DOM/domvvl.F90
r4490 r4897 922 922 READ ( numnam_cfg, nam_vvl, IOSTAT = ios, ERR = 902 ) 923 923 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_vvl in configuration namelist', lwp ) 924 WRITE ( numond, nam_vvl )924 IF(lwm) WRITE ( numond, nam_vvl ) 925 925 926 926 IF(lwp) THEN ! Namelist print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/DOM/domzgr.F90
r4292 r4897 113 113 READ ( numnam_cfg, namzgr, IOSTAT = ios, ERR = 902 ) 114 114 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzgr in configuration namelist', lwp ) 115 WRITE ( numond, namzgr )115 IF(lwm) WRITE ( numond, namzgr ) 116 116 117 117 IF(lwp) THEN ! Control print … … 1140 1140 READ ( numnam_cfg, namzgr_sco, IOSTAT = ios, ERR = 902 ) 1141 1141 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzgr_sco in configuration namelist', lwp ) 1142 WRITE ( numond, namzgr_sco )1142 IF(lwm) WRITE ( numond, namzgr_sco ) 1143 1143 1144 1144 IF(lwp) THEN ! control print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/DOM/dtatsd.F90
r4292 r4897 77 77 READ ( numnam_cfg, namtsd, IOSTAT = ios, ERR = 902 ) 78 78 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtsd in configuration namelist', lwp ) 79 WRITE ( numond, namtsd )79 IF(lwm) WRITE ( numond, namtsd ) 80 80 81 81 IF( PRESENT( ld_tradmp ) ) ln_tsd_tradmp = .TRUE. ! forces the initialization when tradmp is used -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/DYN/dynadv.F90
r4147 r4897 101 101 READ ( numnam_cfg, namdyn_adv, IOSTAT = ios, ERR = 902 ) 102 102 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_adv in configuration namelist', lwp ) 103 WRITE ( numond, namdyn_adv )103 IF(lwm) WRITE ( numond, namdyn_adv ) 104 104 105 105 IF(lwp) THEN ! Namelist print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/DYN/dynhpg.F90
r4896 r4897 136 136 READ ( numnam_cfg, namdyn_hpg, IOSTAT = ios, ERR = 902 ) 137 137 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_hpg in configuration namelist', lwp ) 138 WRITE ( numond, namdyn_hpg )138 IF(lwm) WRITE ( numond, namdyn_hpg ) 139 139 ! 140 140 IF(lwp) THEN ! Control print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/DYN/dynnept.F90
r4372 r4897 125 125 READ ( numnam_cfg, namdyn_nept, IOSTAT = ios, ERR = 902 ) 126 126 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_nept in configuration namelist', lwp ) 127 WRITE ( numond, namdyn_nept )127 IF(lwm) WRITE ( numond, namdyn_nept ) 128 128 129 129 IF(lwp) THEN ! Control print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_ts.F90
r4896 r4897 1055 1055 READ ( numnam_cfg, namsplit, IOSTAT = ios, ERR = 902 ) 1056 1056 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsplit in configuration namelist', lwp ) 1057 WRITE ( numond, namsplit )1057 IF(lwm) WRITE ( numond, namsplit ) 1058 1058 ! 1059 1059 ! ! Max courant number for ext. grav. waves -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/DYN/dynvor.F90
r4896 r4897 715 715 READ ( numnam_cfg, namdyn_vor, IOSTAT = ios, ERR = 902 ) 716 716 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_vor in configuration namelist', lwp ) 717 WRITE ( numond, namdyn_vor )717 IF(lwm) WRITE ( numond, namdyn_vor ) 718 718 719 719 IF(lwp) THEN ! Namelist print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/FLO/floats.F90
r4147 r4897 96 96 READ ( numnam_cfg, namflo, IOSTAT = ios, ERR = 902 ) 97 97 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namflo in configuration namelist', lwp ) 98 WRITE ( numond, namflo )98 IF(lwm) WRITE ( numond, namflo ) 99 99 ! 100 100 IF(lwp) THEN ! control print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/ICB/icbini.F90
r4153 r4897 363 363 READ ( numnam_cfg, namberg, IOSTAT = ios, ERR = 902 ) 364 364 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namberg in configuration namelist', lwp ) 365 WRITE ( numond, namberg )365 IF(lwm) WRITE ( numond, namberg ) 366 366 #else 367 367 IF(lwp) THEN -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/IOM/in_out_manager.F90
r4147 r4897 138 138 CHARACTER(lc) :: cform_err = "(/,' ===>>> : E R R O R', /,' ===========',/)" !: 139 139 CHARACTER(lc) :: cform_war = "(/,' ===>>> : W A R N I N G', /,' ===============',/)" !: 140 LOGICAL :: lwp = .FALSE. !: boolean : true on the 1st processor only 140 LOGICAL :: lwm = .FALSE. !: boolean : true on the 1st processor only (always) 141 LOGICAL :: lwp = .FALSE. !: boolean : true on the 1st processor only .OR. ln_ctl 141 142 LOGICAL :: lsp_area = .TRUE. !: to make a control print over a specific area 142 143 -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/IOM/iom.F90
r4292 r4897 344 344 CALL ctl_stop( TRIM(clinfo), 'We want to write in a new file but '//TRIM(clname)//' already exists...' ) 345 345 istop = nstop + 1 ! make sure that istop /= nstop so we don't open the file 346 ELSEIF( llwrt ) THEN ! the file exists and we are in write mode with permission to 347 clname = cltmpn ! overwrite so get back the file name without the cpu number 346 348 ENDIF 347 349 ENDIF -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/LBC/lbcnfd.F90
r4230 r4897 33 33 34 34 INTEGER, PUBLIC, PARAMETER :: jpmaxngh = 3 35 INTEGER, PUBLIC :: nsndto 35 INTEGER, PUBLIC :: nsndto, nfsloop, nfeloop 36 36 INTEGER, PUBLIC, DIMENSION (jpmaxngh) :: isendto ! processes to which communicate 37 37 … … 412 412 SELECT CASE ( cd_type ) 413 413 CASE ( 'T' , 'W' ) ! T-, W-point 414 IF (n area .ne. (jpnij - jpni + 1)) THEN414 IF (nimpp .ne. 1) THEN 415 415 startloop = 1 416 416 ELSE … … 420 420 DO jk = 1, jpk 421 421 DO ji = startloop, nlci 422 ijt = jpiglo - ji - nimpp - n imppt(isendto(1)) + 4422 ijt = jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 4 423 423 pt3dl(ji,ijpj,jk) = psgn * pt3dr(ijt,ijpj-2,jk) 424 424 END DO … … 435 435 DO jk = 1, jpk 436 436 DO ji = startloop, nlci 437 ijt = jpiglo - ji - nimpp - n imppt(isendto(1)) + 4437 ijt = jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 4 438 438 jia = ji + nimpp - 1 439 439 ijta = jpiglo - jia + 2 … … 448 448 449 449 450 451 450 CASE ( 'U' ) ! U-point 452 IF ( narea .ne. (jpnij)) THEN451 IF ((nimpp + nlci - 1) .ne. jpiglo) THEN 453 452 endloop = nlci 454 453 ELSE … … 457 456 DO jk = 1, jpk 458 457 DO ji = 1, endloop 459 iju = jpiglo - ji - nimpp - n imppt(isendto(1)) + 3458 iju = jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 3 460 459 pt3dl(ji,ijpj,jk) = psgn * pt3dr(iju,ijpj-2,jk) 461 460 END DO 462 461 END DO 463 462 464 IF ( narea .ne. (jpnij)) THEN463 IF ((nimpp + nlci - 1) .ne. jpiglo) THEN 465 464 endloop = nlci 466 465 ELSE … … 477 476 DO jk = 1, jpk 478 477 DO ji = startloop, endloop 479 iju = jpiglo - ji - nimpp - n imppt(isendto(1)) + 3478 iju = jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 3 480 479 jia = ji + nimpp - 1 481 480 ijua = jpiglo - jia + 1 … … 490 489 491 490 CASE ( 'V' ) ! V-point 492 IF (n area .ne. (jpnij - jpni + 1)) THEN491 IF (nimpp .ne. 1) THEN 493 492 startloop = 1 494 493 ELSE … … 497 496 DO jk = 1, jpk 498 497 DO ji = startloop, nlci 499 ijt = jpiglo - ji - nimpp - n imppt(isendto(1)) + 4498 ijt = jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 4 500 499 pt3dl(ji,ijpj-1,jk) = psgn * pt3dr(ijt,ijpj-2,jk) 501 500 pt3dl(ji,ijpj ,jk) = psgn * pt3dr(ijt,ijpj-3,jk) … … 503 502 END DO 504 503 CASE ( 'F' ) ! F-point 505 IF ( narea .ne. (jpnij)) THEN504 IF ((nimpp + nlci - 1) .ne. jpiglo) THEN 506 505 endloop = nlci 507 506 ELSE … … 510 509 DO jk = 1, jpk 511 510 DO ji = 1, endloop 512 iju = jpiglo - ji - nimpp - n imppt(isendto(1)) + 3511 iju = jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 3 513 512 pt3dl(ji,ijpj-1,jk) = psgn * pt3dr(iju,ijpj-2,jk) 514 513 pt3dl(ji,ijpj ,jk) = psgn * pt3dr(iju,ijpj-3,jk) … … 524 523 DO jk = 1, jpk 525 524 DO ji = 1, nlci 526 ijt = jpiglo - ji - nimpp - n imppt(isendto(1)) + 3525 ijt = jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 3 527 526 pt3dl(ji,ijpj,jk) = psgn * pt3dr(ijt,ijpj-1,jk) 528 527 END DO … … 530 529 531 530 CASE ( 'U' ) ! U-point 532 IF ( narea .ne. (jpnij)) THEN531 IF ((nimpp + nlci - 1) .ne. jpiglo) THEN 533 532 endloop = nlci 534 533 ELSE … … 537 536 DO jk = 1, jpk 538 537 DO ji = 1, endloop 539 iju = jpiglo - ji - nimpp - n imppt(isendto(1)) + 2538 iju = jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 2 540 539 pt3dl(ji,ijpj,jk) = psgn * pt3dr(iju,ijpj-1,jk) 541 540 END DO … … 545 544 DO jk = 1, jpk 546 545 DO ji = 1, nlci 547 ijt = jpiglo - ji- nimpp - n imppt(isendto(1)) + 3546 ijt = jpiglo - ji- nimpp - nfiimpp(isendto(1),jpnj) + 3 548 547 pt3dl(ji,ijpj,jk) = psgn * pt3dr(ijt,ijpj-2,jk) 549 548 END DO … … 560 559 DO jk = 1, jpk 561 560 DO ji = startloop, nlci 562 ijt = jpiglo - ji - nimpp - n imppt(isendto(1)) + 3561 ijt = jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 3 563 562 pt3dl(ji,ijpjm1,jk) = psgn * pt3dr(ijt,ijpjm1,jk) 564 563 END DO … … 567 566 568 567 CASE ( 'F' ) ! F-point 569 IF ( narea .ne. (jpnij)) THEN568 IF ((nimpp + nlci - 1) .ne. jpiglo) THEN 570 569 endloop = nlci 571 570 ELSE … … 574 573 DO jk = 1, jpk 575 574 DO ji = 1, endloop 576 iju = jpiglo - ji - nimpp - n imppt(isendto(1)) + 2575 iju = jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 2 577 576 pt3dl(ji,ijpj ,jk) = psgn * pt3dr(iju,ijpj-2,jk) 578 577 END DO 579 578 END DO 580 579 581 IF ( narea .ne. (jpnij)) THEN580 IF ((nimpp + nlci - 1) .ne. jpiglo) THEN 582 581 endloop = nlci 583 582 ELSE … … 594 593 DO jk = 1, jpk 595 594 DO ji = startloop, endloop 596 iju = jpiglo - ji - nimpp - n imppt(isendto(1)) + 2595 iju = jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 2 597 596 pt3dl(ji,ijpjm1,jk) = psgn * pt3dr(iju,ijpjm1,jk) 598 597 END DO … … 656 655 ! 657 656 CASE ( 'T' , 'W' ) ! T- , W-points 658 IF (n area .ne. (jpnij - jpni + 1)) THEN657 IF (nimpp .ne. 1) THEN 659 658 startloop = 1 660 659 ELSE … … 662 661 ENDIF 663 662 DO ji = startloop, nlci 664 ijt=jpiglo - ji - nimpp - n imppt(isendto(1)) + 4663 ijt=jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 4 665 664 pt2dl(ji,ijpj) = psgn * pt2dr(ijt,ijpjm1-1) 666 665 END DO … … 674 673 ENDIF 675 674 DO ji = startloop, nlci 676 ijt=jpiglo - ji - nimpp - n imppt(isendto(1)) + 4675 ijt=jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 4 677 676 jia = ji + nimpp - 1 678 677 ijta = jpiglo - jia + 2 … … 685 684 686 685 CASE ( 'U' ) ! U-point 687 IF ( narea .ne. (jpnij)) THEN686 IF ((nimpp + nlci - 1) .ne. jpiglo) THEN 688 687 endloop = nlci 689 688 ELSE … … 691 690 ENDIF 692 691 DO ji = 1, endloop 693 iju = jpiglo - ji - nimpp - n imppt(isendto(1)) + 3692 iju = jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 3 694 693 pt2dl(ji,ijpj) = psgn * pt2dr(iju,ijpjm1-1) 695 694 END DO 696 695 697 IF ( narea .ne. (jpnij)) THEN696 IF ((nimpp + nlci - 1) .ne. jpiglo) THEN 698 697 endloop = nlci 699 698 ELSE … … 708 707 ENDIF 709 708 DO ji = startloop, endloop 710 iju = jpiglo - ji - nimpp - n imppt(isendto(1)) + 3709 iju = jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 3 711 710 jia = ji + nimpp - 1 712 711 ijua = jpiglo - jia + 1 … … 719 718 720 719 CASE ( 'V' ) ! V-point 721 IF (n area .ne. (jpnij - jpni + 1)) THEN720 IF (nimpp .ne. 1) THEN 722 721 startloop = 1 723 722 ELSE … … 725 724 ENDIF 726 725 DO ji = startloop, nlci 727 ijt=jpiglo - ji - nimpp - n imppt(isendto(1)) + 4726 ijt=jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 4 728 727 pt2dl(ji,ijpjm1) = psgn * pt2dr(ijt,ijpjm1-1) 729 728 pt2dl(ji,ijpj) = psgn * pt2dr(ijt,ijpjm1-2) … … 731 730 732 731 CASE ( 'F' ) ! F-point 733 IF ( narea .ne. (jpnij)) THEN732 IF ((nimpp + nlci - 1) .ne. jpiglo) THEN 734 733 endloop = nlci 735 734 ELSE … … 737 736 ENDIF 738 737 DO ji = 1, endloop 739 iju = jpiglo - ji - nimpp - n imppt(isendto(1)) + 3738 iju = jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 3 740 739 pt2dl(ji,ijpjm1) = psgn * pt2dr(iju,ijpjm1-1) 741 740 pt2dl(ji,ijpj) = psgn * pt2dr(iju,ijpjm1-2) … … 743 742 744 743 CASE ( 'I' ) ! ice U-V point (I-point) 745 IF (n area .ne. (jpnij - jpni + 1)) THEN744 IF (nimpp .ne. 1) THEN 746 745 startloop = 1 747 746 ELSE … … 750 749 ENDIF 751 750 DO ji = startloop, nlci 752 iju = jpiglo - ji - nimpp - n imppt(isendto(1)) + 5751 iju = jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 5 753 752 pt2dl(ji,ijpj) = psgn * pt2dr(iju,ijpjm1) 754 753 END DO 755 754 756 755 CASE ( 'J' ) ! first ice U-V point 757 IF (n area .ne. (jpnij - jpni + 1)) THEN756 IF (nimpp .ne. 1) THEN 758 757 startloop = 1 759 758 ELSE … … 762 761 ENDIF 763 762 DO ji = startloop, nlci 764 iju = jpiglo - ji - nimpp - n imppt(isendto(1)) + 5763 iju = jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 5 765 764 pt2dl(ji,ijpj) = psgn * pt2dr(iju,ijpjm1) 766 765 END DO 767 766 768 767 CASE ( 'K' ) ! second ice U-V point 769 IF (n area .ne. (jpnij - jpni + 1)) THEN768 IF (nimpp .ne. 1) THEN 770 769 startloop = 1 771 770 ELSE … … 774 773 ENDIF 775 774 DO ji = startloop, nlci 776 iju = jpiglo - ji - nimpp - n imppt(isendto(1)) + 5775 iju = jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 5 777 776 pt2dl(ji,ijpj) = psgn * pt2dr(iju,ijpjm1) 778 777 END DO … … 785 784 CASE ( 'T' , 'W' ) ! T-, W-point 786 785 DO ji = 1, nlci 787 ijt = jpiglo - ji - nimpp - n imppt(isendto(1)) + 3786 ijt = jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 3 788 787 pt2dl(ji,ijpj) = psgn * pt2dr(ijt,ijpjm1) 789 788 END DO 790 789 791 790 CASE ( 'U' ) ! U-point 792 IF ( narea .ne. (jpnij)) THEN791 IF ((nimpp + nlci - 1) .ne. jpiglo) THEN 793 792 endloop = nlci 794 793 ELSE … … 796 795 ENDIF 797 796 DO ji = 1, endloop 798 iju = jpiglo - ji - nimpp - n imppt(isendto(1)) + 2797 iju = jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 2 799 798 pt2dl(ji,ijpj) = psgn * pt2dr(iju,ijpjm1) 800 799 END DO … … 802 801 CASE ( 'V' ) ! V-point 803 802 DO ji = 1, nlci 804 ijt = jpiglo - ji - nimpp - n imppt(isendto(1)) + 3803 ijt = jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 3 805 804 pt2dl(ji,ijpj) = psgn * pt2dr(ijt,ijpjm1-1) 806 805 END DO … … 813 812 ENDIF 814 813 DO ji = startloop, nlci 815 ijt = jpiglo - ji - nimpp - n imppt(isendto(1)) + 3814 ijt = jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 3 816 815 pt2dl(ji,ijpjm1) = psgn * pt2dr(ijt,ijpjm1) 817 816 END DO 818 817 819 818 CASE ( 'F' ) ! F-point 820 IF ( narea .ne. (jpnij)) THEN819 IF ((nimpp + nlci - 1) .ne. jpiglo) THEN 821 820 endloop = nlci 822 821 ELSE … … 824 823 ENDIF 825 824 DO ji = 1, endloop 826 iju = jpiglo - ji - nimpp - n imppt(isendto(1)) + 2825 iju = jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 2 827 826 pt2dl(ji,ijpj) = psgn * pt2dr(iju,ijpjm1-1) 828 827 END DO 829 828 830 IF ( narea .ne. (jpnij)) THEN829 IF ((nimpp + nlci - 1) .ne. jpiglo) THEN 831 830 endloop = nlci 832 831 ELSE … … 842 841 843 842 DO ji = startloop, endloop 844 iju = jpiglo - ji - nimpp - n imppt(isendto(1)) + 2843 iju = jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 2 845 844 pt2dl(ji,ijpjm1) = psgn * pt2dr(iju,ijpjm1) 846 845 END DO 847 846 848 847 CASE ( 'I' ) ! ice U-V point (I-point) 849 IF (n area .ne. (jpnij - jpni + 1)) THEN848 IF (nimpp .ne. 1) THEN 850 849 startloop = 1 851 850 ELSE 852 851 startloop = 2 853 852 ENDIF 854 IF ( narea .ne. jpnij) THEN853 IF ((nimpp + nlci - 1) .ne. jpiglo) THEN 855 854 endloop = nlci 856 855 ELSE … … 858 857 ENDIF 859 858 DO ji = startloop , endloop 860 ijt = jpiglo - ji - nimpp - n imppt(isendto(1)) + 4859 ijt = jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 4 861 860 pt2dl(ji,ijpj)= 0.5 * (pt2dr(ji,ijpjm1) + psgn * pt2dr(ijt,ijpjm1)) 862 861 END DO 863 862 864 863 CASE ( 'J' ) ! first ice U-V point 865 IF (n area .ne. (jpnij - jpni + 1)) THEN864 IF (nimpp .ne. 1) THEN 866 865 startloop = 1 867 866 ELSE 868 867 startloop = 2 869 868 ENDIF 870 IF ( narea .ne. jpnij) THEN869 IF ((nimpp + nlci - 1) .ne. jpiglo) THEN 871 870 endloop = nlci 872 871 ELSE … … 874 873 ENDIF 875 874 DO ji = startloop , endloop 876 ijt = jpiglo - ji - nimpp - n imppt(isendto(1)) + 4875 ijt = jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 4 877 876 pt2dl(ji,ijpj) = pt2dr(ji,ijpjm1) 878 877 END DO 879 878 880 879 CASE ( 'K' ) ! second ice U-V point 881 IF (n area .ne. (jpnij - jpni + 1)) THEN880 IF (nimpp .ne. 1) THEN 882 881 startloop = 1 883 882 ELSE 884 883 startloop = 2 885 884 ENDIF 886 IF ( narea .ne. jpnij) THEN885 IF ((nimpp + nlci - 1) .ne. jpiglo) THEN 887 886 endloop = nlci 888 887 ELSE … … 890 889 ENDIF 891 890 DO ji = startloop, endloop 892 ijt = jpiglo - ji - nimpp - n imppt(isendto(1)) + 4891 ijt = jpiglo - ji - nimpp - nfiimpp(isendto(1),jpnj) + 4 893 892 pt2dl(ji,ijpj) = pt2dr(ijt,ijpjm1) 894 893 END DO -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/LBC/lib_mpp.F90
r4328 r4897 170 170 INTEGER , INTENT(in ) :: kumnam_ref ! logical unit for reference namelist 171 171 INTEGER , INTENT(in ) :: kumnam_cfg ! logical unit for configuration namelist 172 INTEGER , INTENT(in 172 INTEGER , INTENT(inout) :: kumond ! logical unit for namelist output 173 173 INTEGER , INTENT(inout) :: kstop ! stop indicator 174 174 INTEGER, OPTIONAL , INTENT(in ) :: localComm … … 193 193 READ ( kumnam_cfg, nammpp, IOSTAT = ios, ERR = 902 ) 194 194 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nammpp in configuration namelist', lwp ) 195 WRITE(kumond, nammpp)196 195 197 196 ! ! control print … … 293 292 CALL mpi_comm_size( mpi_comm_opa, mppsize, ierr ) 294 293 mynode = mpprank 294 295 IF( mynode == 0 ) THEN 296 CALL ctl_opn( kumond, 'output.namelist.dyn', 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE. , 1 ) 297 WRITE(kumond, nammpp) 298 ENDIF 295 299 ! 296 300 CALL MPI_OP_CREATE(DDPDD_MPI, .TRUE., MPI_SUMDD, ierr) … … 2022 2026 ijpjm1 = 3 2023 2027 ! 2028 znorthloc(:,:,:) = 0 2024 2029 DO jk = 1, jpk 2025 2030 DO jj = nlcj - ijpj +1, nlcj ! put in xnorthloc the last 4 jlines of pt3d … … 2032 2037 itaille = jpi * jpk * ijpj 2033 2038 2034 2035 2039 IF ( l_north_nogather ) THEN 2036 2040 ! 2037 2041 ztabr(:,:,:) = 0 2042 ztabl(:,:,:) = 0 2043 2038 2044 DO jk = 1, jpk 2039 2045 DO jj = nlcj-ijpj+1, nlcj ! First put local values into the global array 2040 2046 ij = jj - nlcj + ijpj 2041 DO ji = 1, nlci2047 DO ji = nfsloop, nfeloop 2042 2048 ztabl(ji,ij,jk) = pt3d(ji,jj,jk) 2043 2049 END DO … … 2046 2052 2047 2053 DO jr = 1,nsndto 2048 IF (isendto(jr) .ne. narea) CALL mppsend( 5, znorthloc, itaille, isendto(jr)-1, ml_req_nf(jr) ) 2054 IF ((nfipproc(isendto(jr),jpnj) .ne. (narea-1)) .and. (nfipproc(isendto(jr),jpnj) .ne. -1)) THEN 2055 CALL mppsend( 5, znorthloc, itaille, nfipproc(isendto(jr),jpnj), ml_req_nf(jr) ) 2056 ENDIF 2049 2057 END DO 2050 2058 DO jr = 1,nsndto 2051 iproc = isendto(jr) 2052 ildi = nldit (iproc) 2053 ilei = nleit (iproc) 2054 iilb = nimppt(isendto(jr)) - nimppt(isendto(1)) 2055 IF(isendto(jr) .ne. narea) THEN 2056 CALL mpprecv(5, zfoldwk, itaille, isendto(jr)-1) 2059 iproc = nfipproc(isendto(jr),jpnj) 2060 IF(iproc .ne. -1) THEN 2061 ilei = nleit (iproc+1) 2062 ildi = nldit (iproc+1) 2063 iilb = nfiimpp(isendto(jr),jpnj) - nfiimpp(isendto(1),jpnj) 2064 ENDIF 2065 IF((iproc .ne. (narea-1)) .and. (iproc .ne. -1)) THEN 2066 CALL mpprecv(5, zfoldwk, itaille, iproc) 2057 2067 DO jk = 1, jpk 2058 2068 DO jj = 1, ijpj 2059 DO ji = 1, ilei2069 DO ji = ildi, ilei 2060 2070 ztabr(iilb+ji,jj,jk) = zfoldwk(ji,jj,jk) 2061 2071 END DO 2062 2072 END DO 2063 2073 END DO 2064 ELSE 2074 ELSE IF (iproc .eq. (narea-1)) THEN 2065 2075 DO jk = 1, jpk 2066 2076 DO jj = 1, ijpj 2067 DO ji = 1, ilei2077 DO ji = ildi, ilei 2068 2078 ztabr(iilb+ji,jj,jk) = pt3d(ji,nlcj-ijpj+jj,jk) 2069 2079 END DO … … 2074 2084 IF (l_isend) THEN 2075 2085 DO jr = 1,nsndto 2076 IF ( isendto(jr) .ne. narea) CALL mpi_wait(ml_req_nf(jr), ml_stat, ml_err)2086 IF ((nfipproc(isendto(jr),jpnj) .ne. (narea-1)) .and. (nfipproc(isendto(jr),jpnj) .ne. -1)) CALL mpi_wait(ml_req_nf(jr), ml_stat, ml_err) 2077 2087 END DO 2078 2088 ENDIF 2079 2089 CALL mpp_lbc_nfd( ztabl, ztabr, cd_type, psgn ) ! North fold boundary condition 2080 !2081 2090 DO jk = 1, jpk 2082 2091 DO jj = nlcj-ijpj+1, nlcj ! Scatter back to pt3d … … 2126 2135 ! Either way the array may be folded by lbc_nfd and the result for the span of 2127 2136 ! this domain will be identical. 2128 !2129 CALL lbc_nfd( ztab, cd_type, psgn ) ! North fold boundary condition2130 !2131 DO jk = 1, jpk2132 DO jj = nlcj-ijpj+1, nlcj ! Scatter back to pt3d2133 ij = jj - nlcj + ijpj2134 DO ji= 1, nlci2135 pt3d(ji,jj,jk) = ztab(ji+nimpp-1,ij,jk)2136 END DO2137 END DO2138 END DO2139 2137 ! 2140 2138 DEALLOCATE( ztab, znorthloc, zfoldwk, znorthgloio ) … … 2197 2195 ! 2198 2196 ztabr(:,:) = 0 2197 ztabl(:,:) = 0 2198 2199 2199 DO jj = nlcj-ijpj+1, nlcj ! First put local values into the global array 2200 2200 ij = jj - nlcj + ijpj 2201 DO ji = 1, nlci2201 DO ji = nfsloop, nfeloop 2202 2202 ztabl(ji,ij) = pt2d(ji,jj) 2203 2203 END DO … … 2205 2205 2206 2206 DO jr = 1,nsndto 2207 IF (isendto(jr) .ne. narea) CALL mppsend(5, znorthloc, itaille, isendto(jr)-1, ml_req_nf(jr)) 2207 IF ((nfipproc(isendto(jr),jpnj) .ne. (narea-1)) .and. (nfipproc(isendto(jr),jpnj) .ne. -1)) THEN 2208 CALL mppsend(5, znorthloc, itaille, nfipproc(isendto(jr),jpnj), ml_req_nf(jr)) 2209 ENDIF 2208 2210 END DO 2209 2211 DO jr = 1,nsndto 2210 iproc = isendto(jr) 2211 ildi = nldit (iproc) 2212 ilei = nleit (iproc) 2213 iilb = nimppt(isendto(jr)) - nimppt(isendto(1)) 2214 IF(isendto(jr) .ne. narea) THEN 2215 CALL mpprecv(5, zfoldwk, itaille, isendto(jr)-1) 2212 iproc = nfipproc(isendto(jr),jpnj) 2213 IF(iproc .ne. -1) THEN 2214 ilei = nleit (iproc+1) 2215 ildi = nldit (iproc+1) 2216 iilb = nfiimpp(isendto(jr),jpnj) - nfiimpp(isendto(1),jpnj) 2217 ENDIF 2218 IF((iproc .ne. (narea-1)) .and. (iproc .ne. -1)) THEN 2219 CALL mpprecv(5, zfoldwk, itaille, iproc) 2216 2220 DO jj = 1, ijpj 2217 DO ji = 1, ilei2221 DO ji = ildi, ilei 2218 2222 ztabr(iilb+ji,jj) = zfoldwk(ji,jj) 2219 2223 END DO 2220 2224 END DO 2221 ELSE 2225 ELSE IF (iproc .eq. (narea-1)) THEN 2222 2226 DO jj = 1, ijpj 2223 DO ji = 1, ilei2227 DO ji = ildi, ilei 2224 2228 ztabr(iilb+ji,jj) = pt2d(ji,nlcj-ijpj+jj) 2225 2229 END DO … … 2229 2233 IF (l_isend) THEN 2230 2234 DO jr = 1,nsndto 2231 IF (isendto(jr) .ne. narea) CALL mpi_wait(ml_req_nf(jr), ml_stat, ml_err) 2235 IF ((nfipproc(isendto(jr),jpnj) .ne. (narea-1)) .and. (nfipproc(isendto(jr),jpnj) .ne. -1)) THEN 2236 CALL mpi_wait(ml_req_nf(jr), ml_stat, ml_err) 2237 ENDIF 2232 2238 END DO 2233 2239 ENDIF … … 2924 2930 IF( PRESENT( localComm ) .OR. .NOT.PRESENT( localComm ) ) function_value = 0 2925 2931 IF( .FALSE. ) ldtxt(:) = 'never done' 2932 CALL ctl_opn( kumond, 'output.namelist.dyn', 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE. , 1 ) 2926 2933 END FUNCTION mynode 2927 2934 -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/LBC/mppini.F90
r3294 r4897 177 177 178 178 #endif 179 nfilcit(:,:) = ilcit(:,:) 179 180 IF( irestj == 0 ) irestj = jpnj 180 181 … … 255 256 END DO 256 257 ENDIF 258 nfiimpp(:,:)=iimppt(:,:) 257 259 258 260 IF( jpnj > 1 ) THEN -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/LBC/mppini_2.h90
r4153 r4897 86 86 READ ( numnam_cfg, namzgr, IOSTAT = ios, ERR = 902 ) 87 87 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzgr in configuration namelist', lwp ) 88 WRITE ( numond, namzgr )88 IF(lwm) WRITE ( numond, namzgr ) 89 89 90 90 IF(lwp)WRITE(numout,*) … … 144 144 #endif 145 145 146 nfilcit(:,:) = ilci(:,:) 147 146 148 IF(lwp) WRITE(numout,*) 147 149 IF(lwp) WRITE(numout,*) ' mpp_init2: defines mpp subdomains' … … 175 177 END DO 176 178 ENDIF 179 nfiimpp(:,:) = iimppt(:,:) 177 180 178 181 IF( jpnj > 1 )THEN … … 195 198 ili = ilci(ii,ij) 196 199 ilj = ilcj(ii,ij) 197 198 200 ibondj(ii,ij) = -1 199 201 IF( jarea > jpni ) ibondj(ii,ij) = 0 200 202 IF( jarea > (jpnj-1)*jpni ) ibondj(ii,ij) = 1 201 203 IF( jpnj == 1 ) ibondj(ii,ij) = 2 202 203 204 ibondi(ii,ij) = 0 204 205 IF( MOD(jarea,jpni) == 1 ) ibondi(ii,ij) = -1 … … 284 285 IF( jarea > ijm1 ) ipolj(ii,ij) = 3 285 286 IF( MOD(jpni,2) == 1 .AND. jarea == imil ) ipolj(ii,ij) = 4 286 IF( ipolj(ii,ij) == 3 ) iono(ii,ij) = jpni*jpnj-jarea+ijm1 - 1! MPI rank of northern neighbour287 IF( ipolj(ii,ij) == 3 ) iono(ii,ij) = jpni*jpnj-jarea+ijm1 ! MPI rank of northern neighbour 287 288 ENDIF 288 289 IF( jperio == 5 .OR. jperio == 6 ) THEN … … 291 292 IF( jarea > ijm1) ipolj(ii,ij) = 5 292 293 IF( MOD(jpni,2) == 1 .AND. jarea == imil ) ipolj(ii,ij) = 6 293 IF( ipolj(ii,ij) == 5) iono(ii,ij) = jpni*jpnj-jarea+ijm1 - 1! MPI rank of northern neighbour294 IF( ipolj(ii,ij) == 5) iono(ii,ij) = jpni*jpnj-jarea+ijm1 ! MPI rank of northern neighbour 294 295 ENDIF 295 296 … … 307 308 ENDIF 308 309 END DO 310 311 nfipproc(:,:) = ipproc(:,:) 312 309 313 310 314 ! Control -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/LDF/ldfdyn.F90
r4292 r4897 81 81 READ ( numnam_cfg, namdyn_ldf, IOSTAT = ios, ERR = 902 ) 82 82 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_ldf in configuration namelist', lwp ) 83 WRITE ( numond, namdyn_ldf )83 IF(lwm) WRITE ( numond, namdyn_ldf ) 84 84 85 85 IF(lwp) THEN ! Parameter print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/LDF/ldftra.F90
r4147 r4897 85 85 READ ( numnam_cfg, namtra_ldf, IOSTAT = ios, ERR = 902 ) 86 86 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_ldf in configuration namelist', lwp ) 87 WRITE ( numond, namtra_ldf )87 IF(lwm) WRITE ( numond, namtra_ldf ) 88 88 89 89 IF(lwp) THEN ! control print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/OBS/diaobs.F90
r4292 r4897 221 221 READ ( numnam_cfg, namobs, IOSTAT = ios, ERR = 902 ) 222 222 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namobs in configuration namelist', lwp ) 223 WRITE ( numond, namobs )223 IF(lwm) WRITE ( numond, namobs ) 224 224 225 225 ! Count number of files for each type -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/SBC/albedo.F90
r4147 r4897 212 212 READ ( numnam_cfg, namsbc_alb, IOSTAT = ios, ERR = 902 ) 213 213 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_alb in configuration namelist', lwp ) 214 WRITE ( numond, namsbc_alb )214 IF(lwm) WRITE ( numond, namsbc_alb ) 215 215 ! 216 216 IF(lwp) THEN ! Control print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/SBC/fldread.F90
r4371 r4897 40 40 LOGICAL :: ln_clim ! climatology or not (T/F) 41 41 CHARACTER(len = 8) :: cltype ! type of data file 'daily', 'monthly' or yearly' 42 CHARACTER(len = 34):: wname ! generic name of a NetCDF weights file to be used, blank if not42 CHARACTER(len = 256) :: wname ! generic name of a NetCDF weights file to be used, blank if not 43 43 CHARACTER(len = 34) :: vcomp ! symbolic component name if a vector that needs rotation 44 44 ! ! a string starting with "U" or "V" for each component -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/SBC/sbcana.F90
r4604 r4897 81 81 READ ( numnam_cfg, namsbc_ana, IOSTAT = ios, ERR = 902 ) 82 82 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_ana in configuration namelist', lwp ) 83 WRITE ( numond, namsbc_ana )83 IF(lwm) WRITE ( numond, namsbc_ana ) 84 84 ! 85 85 IF(lwp) WRITE(numout,*)' ' -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/SBC/sbcapr.F90
r4328 r4897 83 83 READ ( numnam_cfg, namsbc_apr, IOSTAT = ios, ERR = 902 ) 84 84 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_apr in configuration namelist', lwp ) 85 WRITE ( numond, namsbc_apr )85 IF(lwm) WRITE ( numond, namsbc_apr ) 86 86 ! 87 87 ALLOCATE( sf_apr(1), STAT=ierror ) !* allocate and fill sf_sst (forcing structure) with sn_sst -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_clio.F90
r4147 r4897 148 148 READ ( numnam_cfg, namsbc_clio, IOSTAT = ios, ERR = 902 ) 149 149 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_clio in configuration namelist', lwp ) 150 WRITE ( numond, namsbc_clio )150 IF(lwm) WRITE ( numond, namsbc_clio ) 151 151 152 152 ! store namelist information in an array -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_core.F90
r4896 r4897 154 154 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_core in configuration namelist', lwp ) 155 155 156 WRITE ( numond, namsbc_core )156 IF(lwm) WRITE ( numond, namsbc_core ) 157 157 ! ! check: do we plan to use ln_dm2dc with non-daily forcing? 158 158 IF( ln_dm2dc .AND. sn_qsr%nfreqh /= 24 ) & -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_mfs.F90
r4147 r4897 141 141 READ ( numnam_cfg, namsbc_mfs, IOSTAT = ios, ERR = 902 ) 142 142 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_mfs in configuration namelist', lwp ) 143 WRITE ( numond, namsbc_mfs )143 IF(lwm) WRITE ( numond, namsbc_mfs ) 144 144 ! 145 145 ! store namelist information in an array -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90
r4393 r4897 244 244 READ ( numnam_cfg, namsbc_cpl, IOSTAT = ios, ERR = 902 ) 245 245 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_cpl in configuration namelist', lwp ) 246 WRITE ( numond, namsbc_cpl )246 IF(lwm) WRITE ( numond, namsbc_cpl ) 247 247 248 248 IF(lwp) THEN ! control print … … 1374 1374 END SELECT 1375 1375 CASE( 'mixed oce-ice' ) 1376 ztmp1(:,:) = ( tsn(:,:,1, 1) + rt0 ) * zfr_l(:,:)1376 ztmp1(:,:) = ( tsn(:,:,1,jp_tem) + rt0 ) * zfr_l(:,:) 1377 1377 DO jl=1,jpl 1378 1378 ztmp1(:,:) = ztmp1(:,:) + tn_ice(:,:,jl) * a_i(:,:,jl) -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/SBC/sbcflx.F90
r4147 r4897 98 98 READ ( numnam_cfg, namsbc_flx, IOSTAT = ios, ERR = 902 ) 99 99 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_flx in configuration namelist', lwp ) 100 WRITE ( numond, namsbc_flx )100 IF(lwm) WRITE ( numond, namsbc_flx ) 101 101 ! 102 102 ! ! check: do we plan to use ln_dm2dc with non-daily forcing? -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_cice.F90
r4292 r4897 60 60 PUBLIC sbc_ice_cice ! routine called by sbc 61 61 62 INTEGER , PARAMETER :: ji_off = INT ( (jpiglo - nx_global) / 2 )63 INTEGER , PARAMETER :: jj_off = INT ( (jpjglo - ny_global) / 2 )62 INTEGER :: ji_off 63 INTEGER :: jj_off 64 64 65 65 INTEGER , PARAMETER :: jpfld = 13 ! maximum number of files to read … … 158 158 IF(lwp) WRITE(numout,*)'cice_sbc_init' 159 159 160 ji_off = INT ( (jpiglo - nx_global) / 2 ) 161 jj_off = INT ( (jpjglo - ny_global) / 2 ) 162 160 163 ! Initialize CICE 161 164 CALL CICE_Initialize … … 220 223 sshb(:,:) = sshb(:,:) - snwice_mass(:,:) * r1_rau0 221 224 ! 222 ! Note: Changed the initial values of sshb and sshn=> need to recompute ssh[u,v,f]_[b,n]223 ! which were previously set in domvvl224 IF ( lk_vvl ) THEN ! Is this necessary? embd 2 should be restricted to vvl only???225 DO jj = 1, jpjm1226 DO ji = 1, jpim1 ! caution: use of Vector Opt. not possible227 zcoefu = 0.5 * umask(ji,jj,1) / ( e1u(ji,jj) * e2u(ji,jj) )228 zcoefv = 0.5 * vmask(ji,jj,1) / ( e1v(ji,jj) * e2v(ji,jj) )229 zcoeff = 0.25 * umask(ji,jj,1) * umask(ji,jj+1,1)230 sshu_b(ji,jj) = zcoefu * ( e1t(ji ,jj) * e2t(ji ,jj) * sshb(ji ,jj) &231 & + e1t(ji+1,jj) * e2t(ji+1,jj) * sshb(ji+1,jj) )232 sshv_b(ji,jj) = zcoefv * ( e1t(ji,jj ) * e2t(ji,jj ) * sshb(ji,jj ) &233 & + e1t(ji,jj+1) * e2t(ji,jj+1) * sshb(ji,jj+1) )234 sshu_n(ji,jj) = zcoefu * ( e1t(ji ,jj) * e2t(ji ,jj) * sshn(ji ,jj) &235 & + e1t(ji+1,jj) * e2t(ji+1,jj) * sshn(ji+1,jj) )236 sshv_n(ji,jj) = zcoefv * ( e1t(ji,jj ) * e2t(ji,jj ) * sshn(ji,jj ) &237 & + e1t(ji,jj+1) * e2t(ji,jj+1) * sshn(ji,jj+1) )238 END DO239 END DO240 CALL lbc_lnk( sshu_b, 'U', 1. ) ; CALL lbc_lnk( sshu_n, 'U', 1. )241 CALL lbc_lnk( sshv_b, 'V', 1. ) ; CALL lbc_lnk( sshv_n, 'V', 1. )242 DO jj = 1, jpjm1243 DO ji = 1, jpim1 ! NO Vector Opt.244 sshf_n(ji,jj) = 0.5 * umask(ji,jj,1) * umask(ji,jj+1,1) &245 & / ( e1f(ji,jj ) * e2f(ji,jj ) ) &246 & * ( e1u(ji,jj ) * e2u(ji,jj ) * sshu_n(ji,jj ) &247 & + e1u(ji,jj+1) * e2u(ji,jj+1) * sshu_n(ji,jj+1) )248 END DO249 END DO250 CALL lbc_lnk( sshf_n, 'F', 1. )251 ENDIF252 225 ENDIF 253 226 … … 747 720 READ ( numnam_cfg, namsbc_cice, IOSTAT = ios, ERR = 902 ) 748 721 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_cice in configuration namelist', lwp ) 749 WRITE ( numond, namsbc_cice )722 IF(lwm) WRITE ( numond, namsbc_cice ) 750 723 751 724 ! store namelist information in an array -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_if.F90
r4896 r4897 78 78 READ ( numnam_cfg, namsbc_iif, IOSTAT = ios, ERR = 902 ) 79 79 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_iif in configuration namelist', lwp ) 80 WRITE ( numond, namsbc_iif )80 IF(lwm) WRITE ( numond, namsbc_iif ) 81 81 82 82 ALLOCATE( sf_ice(1), STAT=ierror ) -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_lim_2.F90
r4896 r4897 222 222 #endif 223 223 224 IF( ( MOD( kt+nn_fsbc-1, ninfo ) == 0 .OR. ntmoy == 1 ) .AND. .NOT. lk_mpp ) & 224 IF( .NOT. lk_mpp )THEN 225 IF( MOD( kt+nn_fsbc-1, ninfo ) == 0 .OR. ntmoy == 1 ) & 225 226 & CALL lim_dia_2 ( kt ) ! Ice Diagnostics 227 ENDIF 226 228 # if ! defined key_iomput 227 229 CALL lim_wri_2 ( kt ) ! Ice outputs -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90
r4607 r4897 101 101 READ ( numnam_cfg, namsbc, IOSTAT = ios, ERR = 902 ) 102 102 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc in configuration namelist', lwp ) 103 WRITE ( numond, namsbc )103 IF(lwm) WRITE ( numond, namsbc ) 104 104 105 105 ! ! overwrite namelist parameter using CPP key information -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/SBC/sbcrnf.F90
r4368 r4897 263 263 READ ( numnam_cfg, namsbc_rnf, IOSTAT = ios, ERR = 902 ) 264 264 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_rnf in configuration namelist', lwp ) 265 WRITE ( numond, namsbc_rnf )265 IF(lwm) WRITE ( numond, namsbc_rnf ) 266 266 ! 267 267 ! ! Control print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/SBC/sbcssr.F90
r4896 r4897 175 175 READ ( numnam_cfg, namsbc_ssr, IOSTAT = ios, ERR = 902 ) 176 176 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_ssr in configuration namelist', lwp ) 177 WRITE ( numond, namsbc_ssr )177 IF(lwm) WRITE ( numond, namsbc_ssr ) 178 178 179 179 IF(lwp) THEN !* control print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/SBC/sbcwave.F90
r4292 r4897 90 90 READ ( numnam_cfg, namsbc_wave, IOSTAT = ios, ERR = 902 ) 91 91 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_wave in configuration namelist', lwp ) 92 WRITE ( numond, namsbc_wave )92 IF(lwm) WRITE ( numond, namsbc_wave ) 93 93 ! 94 94 -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/SBC/tideini.F90
r4292 r4897 72 72 READ ( numnam_cfg, nam_tide, IOSTAT = ios, ERR = 902 ) 73 73 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_tide in configuration namelist', lwp ) 74 WRITE ( numond, nam_tide )74 IF(lwm) WRITE ( numond, nam_tide ) 75 75 ! 76 76 nb_harmo=0 -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/SOL/solver.F90
r4147 r4897 70 70 READ ( numnam_cfg, namsol, IOSTAT = ios, ERR = 902 ) 71 71 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsol in configuration namelist', lwp ) 72 WRITE ( numond, namsol )72 IF(lwm) WRITE ( numond, namsol ) 73 73 74 74 IF(lwp) THEN !* Control print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/TRA/traadv.F90
r4292 r4897 176 176 READ ( numnam_cfg, namtra_adv, IOSTAT = ios, ERR = 902 ) 177 177 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_adv in configuration namelist', lwp ) 178 WRITE ( numond, namtra_adv )178 IF(lwm) WRITE ( numond, namtra_adv ) 179 179 180 180 IF(lwp) THEN ! Namelist print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_mle.F90
r4325 r4897 285 285 READ ( numnam_cfg, namtra_adv_mle, IOSTAT = ios, ERR = 902 ) 286 286 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_adv_mle in configuration namelist', lwp ) 287 WRITE ( numond, namtra_adv_mle )287 IF(lwm) WRITE ( numond, namtra_adv_mle ) 288 288 289 289 IF(lwp) THEN ! Namelist print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/TRA/trabbc.F90
r4896 r4897 136 136 READ ( numnam_cfg, nambbc, IOSTAT = ios, ERR = 902 ) 137 137 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambbc in configuration namelist', lwp ) 138 WRITE ( numond, nambbc )138 IF(lwm) WRITE ( numond, nambbc ) 139 139 140 140 IF(lwp) THEN ! Control print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/TRA/trabbl.F90
r4896 r4897 515 515 READ ( numnam_cfg, nambbl, IOSTAT = ios, ERR = 902 ) 516 516 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambbl in configuration namelist', lwp ) 517 WRITE ( numond, nambbl )517 IF(lwm) WRITE ( numond, nambbl ) 518 518 ! 519 519 l_bbl = .TRUE. !* flag to compute bbl coef and transport -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/TRA/tradmp.F90
r4896 r4897 209 209 READ ( numnam_cfg, namtra_dmp, IOSTAT = ios, ERR = 902 ) 210 210 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_dmp in configuration namelist', lwp ) 211 WRITE ( numond, namtra_dmp )211 IF(lwm) WRITE ( numond, namtra_dmp ) 212 212 213 213 IF( lzoom .AND. .NOT. lk_c1d ) nn_zdmp = 0 ! restoring to climatology at closed north or south boundaries -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/TRA/traqsr.F90
r4896 r4897 397 397 READ ( numnam_cfg, namtra_qsr, IOSTAT = ios, ERR = 902 ) 398 398 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_qsr in configuration namelist', lwp ) 399 WRITE ( numond, namtra_qsr )399 IF(lwm) WRITE ( numond, namtra_qsr ) 400 400 ! 401 401 IF(lwp) THEN ! control print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfbfr.F90
r4896 r4897 186 186 READ ( numnam_cfg, nambfr, IOSTAT = ios, ERR = 902 ) 187 187 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambfr in configuration namelist', lwp ) 188 WRITE ( numond, nambfr )188 IF(lwm) WRITE ( numond, nambfr ) 189 189 IF(lwp) WRITE(numout,*) 190 190 IF(lwp) WRITE(numout,*) 'zdf_bfr_init : momentum bottom friction' -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfddm.F90
r4896 r4897 239 239 READ ( numnam_cfg, namzdf_ddm, IOSTAT = ios, ERR = 902 ) 240 240 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_ddm in configuration namelist', lwp ) 241 WRITE ( numond, namzdf_ddm )241 IF(lwm) WRITE ( numond, namzdf_ddm ) 242 242 ! 243 243 IF(lwp) THEN ! Parameter print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfgls.F90
r4147 r4897 948 948 READ ( numnam_cfg, namzdf_gls, IOSTAT = ios, ERR = 902 ) 949 949 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_gls in configuration namelist', lwp ) 950 WRITE ( numond, namzdf_gls )950 IF(lwm) WRITE ( numond, namzdf_gls ) 951 951 952 952 IF(lwp) THEN !* Control print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfini.F90
r4292 r4897 64 64 READ ( numnam_cfg, namzdf, IOSTAT = ios, ERR = 902 ) 65 65 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf in configuration namelist', lwp ) 66 WRITE ( numond, namzdf )66 IF(lwm) WRITE ( numond, namzdf ) 67 67 68 68 IF(lwp) THEN !* Parameter print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfkpp.F90
r4896 r4897 1369 1369 READ ( numnam_cfg, namzdf_kpp, IOSTAT = ios, ERR = 902 ) 1370 1370 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_kpp in configuration namelist', lwp ) 1371 WRITE ( numond, namzdf_kpp )1371 IF(lwm) WRITE ( numond, namzdf_kpp ) 1372 1372 1373 1373 IF(lwp) THEN ! Control print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfric.F90
r4147 r4897 260 260 READ ( numnam_cfg, namzdf_ric, IOSTAT = ios, ERR = 902 ) 261 261 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_ric in configuration namelist', lwp ) 262 WRITE ( numond, namzdf_ric )262 IF(lwm) WRITE ( numond, namzdf_ric ) 263 263 ! 264 264 IF(lwp) THEN ! Control print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/ZDF/zdftke.F90
r4896 r4897 699 699 READ ( numnam_cfg, namzdf_tke, IOSTAT = ios, ERR = 902 ) 700 700 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_tke in configuration namelist', lwp ) 701 WRITE ( numond, namzdf_tke )701 IF(lwm) WRITE ( numond, namzdf_tke ) 702 702 ! 703 703 ri_cri = 2._wp / ( 2._wp + rn_ediss / rn_ediff ) ! resulting critical Richardson number -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/ZDF/zdftmx.F90
r4147 r4897 377 377 READ ( numnam_cfg, namzdf_tmx, IOSTAT = ios, ERR = 902 ) 378 378 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_tmx in configuration namelist', lwp ) 379 WRITE ( numond, namzdf_tmx )379 IF(lwm) WRITE ( numond, namzdf_tmx ) 380 380 381 381 IF(lwp) THEN ! Control print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/nemogcm.F90
r4896 r4897 86 86 USE sbctide, ONLY: lk_tide 87 87 USE crsini ! initialise grid coarsening utility 88 USE lbcnfd, ONLY: isendto, nsndto ! Setup of north fold exchanges88 USE lbcnfd, ONLY: isendto, nsndto, nfsloop, nfeloop ! Setup of north fold exchanges 89 89 90 90 IMPLICIT NONE … … 236 236 CALL ctl_opn( numnam_ref, 'namelist_ref', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE. ) 237 237 CALL ctl_opn( numnam_cfg, 'namelist_cfg', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE. ) 238 CALL ctl_opn( numond, 'output.namelist.dyn', 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE. , 1 )239 238 ! 240 239 REWIND( numnam_ref ) ! Namelist namctl in reference namelist : Control prints & Benchmark … … 245 244 READ ( numnam_cfg, namctl, IOSTAT = ios, ERR = 902 ) 246 245 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namctl in configuration namelist', .TRUE. ) 247 WRITE( numond, namctl )248 246 249 247 ! … … 255 253 READ ( numnam_cfg, namcfg, IOSTAT = ios, ERR = 904 ) 256 254 904 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcfg in configuration namelist', .TRUE. ) 257 WRITE( numond, namcfg )258 255 259 256 ! Force values for AGRIF zoom (cf. agrif_user.F90) … … 275 272 ! !--------------------------------------------! 276 273 ! ! set communicator & select the local node ! 274 ! ! NB: mynode also opens output.namelist.dyn ! 275 ! ! on unit number numond on first proc ! 277 276 ! !--------------------------------------------! 278 277 #if defined key_iomput … … 299 298 narea = narea + 1 ! mynode return the rank of proc (0 --> jpnij -1 ) 300 299 300 lwm = (narea == 1) ! control of output namelists 301 301 lwp = (narea == 1) .OR. ln_ctl ! control of all listing output print 302 303 IF(lwm) THEN 304 ! write merged namelists from earlier to output namelist now that the 305 ! file has been opened in call to mynode. nammpp has already been 306 ! written in mynode (if lk_mpp_mpi) 307 WRITE( numond, namctl ) 308 WRITE( numond, namcfg ) 309 ENDIF 302 310 303 311 ! If dimensions of processor grid weren't specified in the namelist file … … 578 586 IF( numnam_ref /= -1 ) CLOSE( numnam_ref ) ! oce reference namelist 579 587 IF( numnam_cfg /= -1 ) CLOSE( numnam_cfg ) ! oce configuration namelist 580 IF( numond/= -1 ) CLOSE( numond ) ! oce output namelist588 IF( lwm.AND.numond /= -1 ) CLOSE( numond ) ! oce output namelist 581 589 IF( numnam_ice_ref /= -1 ) CLOSE( numnam_ice_ref ) ! ice reference namelist 582 590 IF( numnam_ice_cfg /= -1 ) CLOSE( numnam_ice_cfg ) ! ice configuration namelist 583 IF( numoni/= -1 ) CLOSE( numoni ) ! ice output namelist591 IF( lwm.AND.numoni /= -1 ) CLOSE( numoni ) ! ice output namelist 584 592 IF( numevo_ice /= -1 ) CLOSE( numevo_ice ) ! ice variables (temp. evolution) 585 593 IF( numout /= 6 ) CLOSE( numout ) ! standard model output file … … 788 796 !loop over the other north-fold processes to find the processes 789 797 !managing the points belonging to the sxT-dxT range 790 DO jn = jpnij - jpni +1, jpnij791 IF ( njmppt(jn) == njmppmax ) THEN798 799 DO jn = 1, jpni 792 800 !sxT is the first point (in the global domain) of the jn 793 801 !process 794 sxT = n imppt(jn)802 sxT = nfiimpp(jn, jpnj) 795 803 !dxT is the last point (in the global domain) of the jn 796 804 !process 797 dxT = n imppt(jn) + nlcit(jn) - 1805 dxT = nfiimpp(jn, jpnj) + nfilcit(jn, jpnj) - 1 798 806 IF ((sxM .gt. sxT) .AND. (sxM .lt. dxT)) THEN 799 807 nsndto = nsndto + 1 800 isendto(nsndto) = jn801 ELSEIF ((sxM .le. sxT) .AND. (dxM .g t. dxT)) THEN808 isendto(nsndto) = jn 809 ELSEIF ((sxM .le. sxT) .AND. (dxM .ge. dxT)) THEN 802 810 nsndto = nsndto + 1 803 isendto(nsndto) = jn811 isendto(nsndto) = jn 804 812 ELSEIF ((dxM .lt. dxT) .AND. (sxT .lt. dxM)) THEN 805 813 nsndto = nsndto + 1 806 isendto(nsndto) = jn814 isendto(nsndto) = jn 807 815 END IF 808 END IF809 816 END DO 817 nfsloop = 1 818 nfeloop = nlci 819 DO jn = 2,jpni-1 820 IF(nfipproc(jn,jpnj) .eq. (narea - 1)) THEN 821 IF (nfipproc(jn - 1 ,jpnj) .eq. -1) THEN 822 nfsloop = nldi 823 ENDIF 824 IF (nfipproc(jn + 1,jpnj) .eq. -1) THEN 825 nfeloop = nlei 826 ENDIF 827 ENDIF 828 END DO 829 810 830 ENDIF 811 831 l_north_nogather = .TRUE. -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/step.F90
r4896 r4897 317 317 ENDIF 318 318 IF( kstp == nit000 ) THEN 319 CALL iom_close( numror ) ! close input ocean restart file320 CALL FLUSH ( numond ) ! flush output namelist oce321 CALL FLUSH ( numoni ) ! flush output namelist ice319 CALL iom_close( numror ) ! close input ocean restart file 320 IF(lwm) CALL FLUSH ( numond ) ! flush output namelist oce 321 IF(lwm) CALL FLUSH ( numoni ) ! flush output namelist ice 322 322 ENDIF 323 323 IF( lrst_oce ) CALL rst_write ( kstp ) ! write output ocean restart file -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/OPA_SRC/trc_oce.F90
r3770 r4897 267 267 !!---------------------------------------------------------------------- 268 268 ! 269 ! It is not necessary to compute anything bel low the following depth269 ! It is not necessary to compute anything below the following depth 270 270 zhext = prldex * ( LOG(10._wp) * zprec + LOG(pqsr_frc) ) 271 271 ! … … 273 273 pjl = jpkm1 274 274 DO jk = jpkm1, 1, -1 275 zem = MAXVAL( fsdepw(:,:,jk+1) * tmask(:,:,jk) ) 276 IF( zem >= zhext ) pjl = jk ! last T-level reached by Qsr 275 IF(SUM(tmask(:,:,jk)) > 0 ) THEN 276 zem = MAXVAL( fsdepw(:,:,jk+1) * tmask(:,:,jk) ) 277 IF( zem >= zhext ) pjl = jk ! last T-level reached by Qsr 278 ELSE 279 pjl = jk ! or regional sea-bed depth 280 ENDIF 277 281 END DO 278 282 ! -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/SAS_SRC/nemogcm.F90
r4319 r4897 168 168 CALL ctl_opn( numnam_ref, 'namelist_ref', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE. ) 169 169 CALL ctl_opn( numnam_cfg, 'namelist_cfg', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE. ) 170 CALL ctl_opn( numond, 'output.namelist.dyn', 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE. , 1 )171 170 ! 172 171 REWIND( numnam_ref ) ! Namelist namctl in reference namelist : Control prints & Benchmark … … 177 176 READ ( numnam_cfg, namctl, IOSTAT = ios, ERR = 902 ) 178 177 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namctl in configuration namelist', .TRUE. ) 179 WRITE( numond, namctl )180 178 181 179 ! … … 187 185 READ ( numnam_cfg, namcfg, IOSTAT = ios, ERR = 904 ) 188 186 904 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcfg in configuration namelist', .TRUE. ) 189 WRITE( numond, namcfg )190 187 191 188 ! !--------------------------------------------! 192 189 ! ! set communicator & select the local node ! 190 ! ! NB: mynode also opens output.namelist.dyn ! 191 ! ! on unit number numond on first proc ! 193 192 ! !--------------------------------------------! 194 193 #if defined key_iomput … … 203 202 narea = narea + 1 ! mynode return the rank of proc (0 --> jpnij -1 ) 204 203 204 lwm = (narea == 1) ! control of output namelists 205 205 lwp = (narea == 1) .OR. ln_ctl ! control of all listing output print 206 207 IF(lwm) THEN 208 ! write merged namelists from earlier to output namelist now that the 209 ! file has been opened in call to mynode. nammpp has already been 210 ! written in mynode (if lk_mpp_mpi) 211 WRITE( numond, namctl ) 212 WRITE( numond, namcfg ) 213 ENDIF 206 214 207 215 ! If dimensions of processor grid weren't specified in the namelist file … … 405 413 IF( numnam_ref /= -1 ) CLOSE( numnam_ref ) ! oce reference namelist 406 414 IF( numnam_cfg /= -1 ) CLOSE( numnam_cfg ) ! oce configuration namelist 407 IF( numond/= -1 ) CLOSE( numond ) ! oce output namelist415 IF( lwm.AND.numond /= -1 ) CLOSE( numond ) ! oce output namelist 408 416 IF( numnam_ice_ref /= -1 ) CLOSE( numnam_ice_ref ) ! ice reference namelist 409 417 IF( numnam_ice_cfg /= -1 ) CLOSE( numnam_ice_cfg ) ! ice configuration namelist 410 IF( numoni/= -1 ) CLOSE( numoni ) ! ice output namelist418 IF( lwm.AND.numoni /= -1 ) CLOSE( numoni ) ! ice output namelist 411 419 IF( numevo_ice /= -1 ) CLOSE( numevo_ice ) ! ice variables (temp. evolution) 412 420 IF( numout /= 6 ) CLOSE( numout ) ! standard model output file -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/SAS_SRC/sbcssm.F90
r4186 r4897 150 150 READ ( numnam_cfg, namsbc_sas, IOSTAT = ios, ERR = 902 ) 151 151 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_sas in configuration namelist', lwp ) 152 WRITE ( numond, namsbc_sas )152 IF(lwm) WRITE ( numond, namsbc_sas ) 153 153 154 154 ! ! store namelist information in an array -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/TOP_SRC/C14b/trcnam_c14b.F90
r4319 r4897 58 58 CALL ctl_opn( numnatb_ref, 'namelist_c14b_ref' , 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) 59 59 CALL ctl_opn( numnatb_cfg, 'namelist_c14b_cfg' , 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) 60 CALL ctl_opn( numonb, 'output.namelist.c14', 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. )60 IF(lwm) CALL ctl_opn( numonb, 'output.namelist.c14', 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) 61 61 REWIND( numnatb_ref ) ! Namelist namc14date in reference namelist : c14b parameters 62 62 READ ( numnatb_ref, namc14date, IOSTAT = ios, ERR = 901) … … 66 66 READ ( numnatb_cfg, namc14date, IOSTAT = ios, ERR = 902 ) 67 67 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namc14date in configuration namelist', lwp ) 68 WRITE ( numonb, namc14date )68 IF(lwm) WRITE ( numonb, namc14date ) 69 69 IF(lwp) THEN ! control print 70 70 WRITE(numout,*) … … 88 88 READ ( numnatb_cfg, namc14dia, IOSTAT = ios, ERR = 904 ) 89 89 904 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namc14dia in configuration namelist', lwp ) 90 WRITE ( numonb, namc14dia )90 IF(lwm) WRITE ( numonb, namc14dia ) 91 91 92 92 DO jl = 1, jp_c14b_2d … … 124 124 ENDIF 125 125 126 CALL FLUSH ( numonb ) ! flush output namelist C14b126 IF(lwm) CALL FLUSH ( numonb ) ! flush output namelist C14b 127 127 128 128 END SUBROUTINE trc_nam_c14b -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/TOP_SRC/CFC/trcnam_cfc.F90
r4319 r4897 55 55 CALL ctl_opn( numnatc_ref, 'namelist_cfc_ref' , 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) 56 56 CALL ctl_opn( numnatc_cfg, 'namelist_cfc_cfg' , 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) 57 CALL ctl_opn( numonc, 'output.namelist.cfc', 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. )57 IF(lwm) CALL ctl_opn( numonc, 'output.namelist.cfc', 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) 58 58 59 59 REWIND( numnatc_ref ) ! Namelist namcfcdate in reference namelist : CFC parameters … … 64 64 READ ( numnatc_cfg, namcfcdate, IOSTAT = ios, ERR = 902 ) 65 65 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcfcdate in configuration namelist', lwp ) 66 WRITE ( numonc, namcfcdate )66 IF(lwm) WRITE ( numonc, namcfcdate ) 67 67 68 68 IF(lwp) THEN ! control print … … 88 88 READ ( numnatc_cfg, namcfcdia, IOSTAT = ios, ERR = 904 ) 89 89 904 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcfcdia in configuration namelist', lwp ) 90 WRITE ( numonc, namcfcdia )90 IF(lwm) WRITE ( numonc, namcfcdia ) 91 91 92 92 DO jl = 1, jp_cfc_2d … … 110 110 ENDIF 111 111 112 CALL FLUSH ( numonc ) ! flush output namelist CFC112 IF(lwm) CALL FLUSH ( numonc ) ! flush output namelist CFC 113 113 114 114 END SUBROUTINE trc_nam_cfc -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zbio.F90
r4896 r4897 500 500 READ ( numnatp_cfg, namlobphy, IOSTAT = ios, ERR = 902 ) 501 501 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobphy in configuration namelist', lwp ) 502 WRITE ( numonp, namlobphy )502 IF(lwm) WRITE ( numonp, namlobphy ) 503 503 504 504 IF(lwp) THEN … … 519 519 READ ( numnatp_cfg, namlobnut, IOSTAT = ios, ERR = 904 ) 520 520 904 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobnut in configuration namelist', lwp ) 521 WRITE ( numonp, namlobnut )521 IF(lwm) WRITE ( numonp, namlobnut ) 522 522 523 523 IF(lwp) THEN … … 537 537 READ ( numnatp_cfg, namlobzoo, IOSTAT = ios, ERR = 906 ) 538 538 906 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobzoo in configuration namelist', lwp ) 539 WRITE ( numonp, namlobzoo )539 IF(lwm) WRITE ( numonp, namlobzoo ) 540 540 541 541 IF(lwp) THEN … … 560 560 READ ( numnatp_cfg, namlobdet, IOSTAT = ios, ERR = 908 ) 561 561 908 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobdet in configuration namelist', lwp ) 562 WRITE ( numonp, namlobdet )562 IF(lwm) WRITE ( numonp, namlobdet ) 563 563 564 564 IF(lwp) THEN … … 576 576 READ ( numnatp_cfg, namlobdom, IOSTAT = ios, ERR = 910 ) 577 577 910 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobdom in configuration namelist', lwp ) 578 WRITE ( numonp, namlobdom )578 IF(lwm) WRITE ( numonp, namlobdom ) 579 579 580 580 IF(lwp) THEN -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zopt.F90
r4896 r4897 174 174 READ ( numnatp_cfg, namlobopt, IOSTAT = ios, ERR = 902 ) 175 175 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobopt in configuration namelist', lwp ) 176 WRITE ( numonp, namlobopt )176 IF(lwm) WRITE ( numonp, namlobopt ) 177 177 178 178 IF(lwp) THEN … … 196 196 READ ( numnatp_cfg, namlobrat, IOSTAT = ios, ERR = 904 ) 197 197 904 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobrat in configuration namelist', lwp ) 198 WRITE ( numonp, namlobrat )198 IF(lwm) WRITE ( numonp, namlobrat ) 199 199 200 200 IF(lwp) THEN -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zsed.F90
r4896 r4897 161 161 READ ( numnatp_cfg, namlobsed, IOSTAT = ios, ERR = 902 ) 162 162 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobsed in configuration namelist', lwp ) 163 WRITE ( numonp, namlobsed )163 IF(lwm) WRITE ( numonp, namlobsed ) 164 164 165 165 IF(lwp) THEN -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zsms.F90
r4896 r4897 67 67 IF( lk_trdmxl_trc ) CALL trd_mxl_bio( kt ) ! trends: Mixed-layer 68 68 ! 69 IF ( kt == nittrc000 ) CALL FLUSH ( numonp ) ! flush output namelist PISCES69 IF ( lwm .AND. kt == nittrc000 ) CALL FLUSH ( numonp ) ! flush output namelist PISCES 70 70 IF( nn_timing == 1 ) CALL timing_stop('p2z_sms') 71 71 ! -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zfechem.F90
r4529 r4897 351 351 READ ( numnatp_cfg, nampisfer, IOSTAT = ios, ERR = 902 ) 352 352 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisfer in configuration namelist', lwp ) 353 WRITE ( numonp, nampisfer )353 IF(lwm) WRITE ( numonp, nampisfer ) 354 354 355 355 IF(lwp) THEN ! control print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zflx.F90
r4230 r4897 250 250 READ ( numnatp_cfg, nampisext, IOSTAT = ios, ERR = 902 ) 251 251 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisext in configuration namelist', lwp ) 252 WRITE ( numonp, nampisext )252 IF(lwm) WRITE ( numonp, nampisext ) 253 253 ! 254 254 IF(lwp) THEN ! control print … … 326 326 READ ( numnatp_cfg, nampisatm, IOSTAT = ios, ERR = 902 ) 327 327 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisatm in configuration namelist', lwp ) 328 WRITE ( numonp, nampisatm )328 IF(lwm) WRITE ( numonp, nampisatm ) 329 329 ! 330 330 ! -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zlim.F90
r4529 r4897 228 228 READ ( numnatp_cfg, nampislim, IOSTAT = ios, ERR = 902 ) 229 229 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampislim in configuration namelist', lwp ) 230 WRITE ( numonp, nampislim )230 IF(lwm) WRITE ( numonp, nampislim ) 231 231 232 232 IF(lwp) THEN ! control print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zlys.F90
r4147 r4897 202 202 READ ( numnatp_cfg, nampiscal, IOSTAT = ios, ERR = 902 ) 203 203 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampiscal in configuration namelist', lwp ) 204 WRITE ( numonp, nampiscal )204 IF(lwm) WRITE ( numonp, nampiscal ) 205 205 206 206 IF(lwp) THEN ! control print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmeso.F90
r4529 r4897 293 293 READ ( numnatp_cfg, nampismes, IOSTAT = ios, ERR = 902 ) 294 294 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampismes in configuration namelist', lwp ) 295 WRITE ( numonp, nampismes )295 IF(lwm) WRITE ( numonp, nampismes ) 296 296 297 297 -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmicro.F90
r4529 r4897 235 235 READ ( numnatp_cfg, nampiszoo, IOSTAT = ios, ERR = 902 ) 236 236 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampiszoo in configuration namelist', lwp ) 237 WRITE ( numonp, nampiszoo )237 IF(lwm) WRITE ( numonp, nampiszoo ) 238 238 239 239 IF(lwp) THEN ! control print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmort.F90
r4529 r4897 252 252 READ ( numnatp_cfg, nampismort, IOSTAT = ios, ERR = 902 ) 253 253 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampismort in configuration namelist', lwp ) 254 WRITE ( numonp, nampismort )254 IF(lwm) WRITE ( numonp, nampismort ) 255 255 256 256 IF(lwp) THEN ! control print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zopt.F90
r4896 r4897 338 338 READ ( numnatp_cfg, nampisopt, IOSTAT = ios, ERR = 902 ) 339 339 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisopt in configuration namelist', lwp ) 340 WRITE ( numonp, nampisopt )340 IF(lwm) WRITE ( numonp, nampisopt ) 341 341 342 342 IF(lwp) THEN -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zprod.F90
r4529 r4897 486 486 READ ( numnatp_cfg, nampisprod, IOSTAT = ios, ERR = 902 ) 487 487 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisprod in configuration namelist', lwp ) 488 WRITE ( numonp, nampisprod )488 IF(lwm) WRITE ( numonp, nampisprod ) 489 489 490 490 IF(lwp) THEN ! control print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zrem.F90
r4147 r4897 358 358 READ ( numnatp_cfg, nampisrem, IOSTAT = ios, ERR = 902 ) 359 359 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisrem in configuration namelist', lwp ) 360 WRITE ( numonp, nampisrem )360 IF(lwm) WRITE ( numonp, nampisrem ) 361 361 362 362 IF(lwp) THEN ! control print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsbc.F90
r4564 r4897 218 218 READ ( numnatp_cfg, nampissbc, IOSTAT = ios, ERR = 902 ) 219 219 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampissbc in configuration namelist', lwp ) 220 WRITE ( numonp, nampissbc )220 IF(lwm) WRITE ( numonp, nampissbc ) 221 221 222 222 IF(lwp) THEN -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsed.F90
r4529 r4897 273 273 ! ------------------------------------------------------ 274 274 #if ! defined key_sed 275 zrivsil = 1._wp - ( sumdepsi + rivdsiinput * r1_ryyss ) / zsumsedsi275 zrivsil = 1._wp - ( sumdepsi + rivdsiinput * r1_ryyss ) / ( zsumsedsi + rtrn ) 276 276 #endif 277 277 … … 295 295 zfactcal = MIN( excess(ji,jj,ikt), 0.2 ) 296 296 zfactcal = MIN( 1., 1.3 * ( 0.2 - zfactcal ) / ( 0.4 - zfactcal ) ) 297 zrivalk = 1._wp - ( rivalkinput * r1_ryyss ) * zfactcal / zsumsedcal297 zrivalk = 1._wp - ( rivalkinput * r1_ryyss ) * zfactcal / ( zsumsedcal + rtrn ) 298 298 trn(ji,jj,ikt,jptal) = trn(ji,jj,ikt,jptal) + zcaloss * zrivalk * 2.0 299 299 trn(ji,jj,ikt,jpdic) = trn(ji,jj,ikt,jpdic) + zcaloss * zrivalk … … 413 413 ENDIF 414 414 ! 415 CALL wrk_dealloc( jpi, jpj, zdenit2d, zwork1, zwork2, zwork3, zwork4 )415 CALL wrk_dealloc( jpi, jpj, zdenit2d, zwork1, zwork2, zwork3, zwork4, zbureff ) 416 416 CALL wrk_dealloc( jpi, jpj, zwsbio3, zwsbio4, zwscal ) 417 CALL wrk_dealloc( jpi, jpj, jpk, znitrpot )417 CALL wrk_dealloc( jpi, jpj, jpk, znitrpot, zsoufer ) 418 418 ! 419 419 IF( nn_timing == 1 ) CALL timing_stop('p4z_sed') -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsink.F90
r4148 r4897 554 554 READ ( numnatp_cfg, nampiskrs, IOSTAT = ios, ERR = 902 ) 555 555 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampiskrs in configuration namelist', lwp ) 556 WRITE ( numonp, nampiskrs )556 IF(lwm) WRITE ( numonp, nampiskrs ) 557 557 558 558 IF(lwp) THEN -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsms.F90
r4896 r4897 153 153 CALL p4z_chk_mass( kt ) ! Mass conservation checking 154 154 155 IF ( kt == nittrc000 ) CALL FLUSH ( numonp ) ! flush output namelist PISCES155 IF ( lwm .AND. kt == nittrc000 ) CALL FLUSH ( numonp ) ! flush output namelist PISCES 156 156 IF( nn_timing == 1 ) CALL timing_stop('p4z_sms') 157 157 ! … … 185 185 READ ( numnatp_cfg, nampisbio, IOSTAT = ios, ERR = 902 ) 186 186 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisbio in configuration namelist', lwp ) 187 WRITE ( numonp, nampisbio )187 IF(lwm) WRITE ( numonp, nampisbio ) 188 188 189 189 IF(lwp) THEN ! control print … … 209 209 READ ( numnatp_cfg, nampiskrp, IOSTAT = ios, ERR = 904 ) 210 210 904 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampiskrp in configuration namelist', lwp ) 211 WRITE ( numonp, nampiskrp )211 IF(lwm) WRITE ( numonp, nampiskrp ) 212 212 213 213 IF(lwp) THEN … … 235 235 READ ( numnatp_cfg, nampisdmp, IOSTAT = ios, ERR = 906 ) 236 236 906 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisdmp in configuration namelist', lwp ) 237 WRITE ( numonp, nampisdmp )237 IF(lwm) WRITE ( numonp, nampisdmp ) 238 238 239 239 IF(lwp) THEN ! control print … … 252 252 READ ( numnatp_cfg, nampismass, IOSTAT = ios, ERR = 908 ) 253 253 908 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampismass in configuration namelist', lwp ) 254 WRITE ( numonp, nampismass )254 IF(lwm) WRITE ( numonp, nampismass ) 255 255 256 256 IF(lwp) THEN ! control print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/TOP_SRC/PISCES/trcnam_pisces.F90
r4896 r4897 72 72 CALL ctl_opn( numnatp_ref, TRIM( clname )//'_ref', 'OLD' , 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) 73 73 CALL ctl_opn( numnatp_cfg, TRIM( clname )//'_cfg', 'OLD' , 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) 74 CALL ctl_opn( numonp , 'output.namelist.pis' , 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. )74 IF(lwm) CALL ctl_opn( numonp , 'output.namelist.pis' , 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) 75 75 ! 76 76 IF( .NOT.lk_iomput .AND. ln_diatrc ) THEN … … 85 85 READ ( numnatp_cfg, nampisdia, IOSTAT = ios, ERR = 902 ) 86 86 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisdia in configuration namelist', lwp ) 87 WRITE ( numonp, nampisdia )87 IF(lwm) WRITE ( numonp, nampisdia ) 88 88 89 89 DO jl = 1, jp_pisces_2d … … 134 134 READ ( numnatp_cfg, nampisdbi, IOSTAT = ios, ERR = 904 ) 135 135 904 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisdbi in configuration namelist', lwp ) 136 WRITE ( numonp, nampisdbi )136 IF(lwm) WRITE ( numonp, nampisdbi ) 137 137 138 138 DO jl = 1, jp_pisces_trd -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/TOP_SRC/TRP/trcnam_trp.F90
r4359 r4897 97 97 READ ( numnat_cfg, namtrc_adv, IOSTAT = ios, ERR = 902 ) 98 98 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_adv in configuration namelist', lwp ) 99 WRITE ( numont, namtrc_adv )99 IF(lwm) WRITE ( numont, namtrc_adv ) 100 100 101 101 IF(lwp) THEN ! Namelist print … … 119 119 READ ( numnat_cfg, namtrc_ldf, IOSTAT = ios, ERR = 904 ) 120 120 904 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_ldf in configuration namelist', lwp ) 121 WRITE ( numont, namtrc_ldf )121 IF(lwm) WRITE ( numont, namtrc_ldf ) 122 122 123 123 IF(lwp) THEN ! Namelist print … … 144 144 READ ( numnat_cfg, namtrc_zdf, IOSTAT = ios, ERR = 906 ) 145 145 906 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_zdf in configuration namelist', lwp ) 146 WRITE ( numont, namtrc_zdf )146 IF(lwm) WRITE ( numont, namtrc_zdf ) 147 147 148 148 IF(lwp) THEN ! ! Control print … … 161 161 READ ( numnat_cfg, namtrc_rad, IOSTAT = ios, ERR = 908 ) 162 162 908 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_rad in configuration namelist', lwp ) 163 WRITE ( numont, namtrc_rad )163 IF(lwm) WRITE ( numont, namtrc_rad ) 164 164 165 165 IF(lwp) THEN ! ! Control print … … 177 177 READ ( numnat_cfg, namtrc_dmp, IOSTAT = ios, ERR = 910) 178 178 910 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_dmp in configuration namelist', lwp ) 179 WRITE ( numont, namtrc_dmp )179 IF(lwm) WRITE ( numont, namtrc_dmp ) 180 180 181 181 IF(lwp) THEN ! Namelist print -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/TOP_SRC/trcbc.F90
r4230 r4897 141 141 READ ( numnat_cfg, namtrc_bc, IOSTAT = ios, ERR = 902 ) 142 142 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_bc in configuration namelist', lwp ) 143 WRITE ( numont, namtrc_bc )143 IF(lwm) WRITE ( numont, namtrc_bc ) 144 144 145 145 ! print some information for each -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/TOP_SRC/trcdta.F90
r4489 r4897 102 102 READ ( numnat_cfg, namtrc_dta, IOSTAT = ios, ERR = 902 ) 103 103 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_dta in configuration namelist', lwp ) 104 WRITE ( numont, namtrc_dta )104 IF(lwm) WRITE ( numont, namtrc_dta ) 105 105 106 106 IF( lwp ) THEN -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/TOP_SRC/trcnam.F90
r4896 r4897 128 128 READ ( numnat_cfg, namtrc_trd, IOSTAT = ios, ERR = 906 ) 129 129 906 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_trd in configuration namelist', lwp ) 130 WRITE ( numont, namtrc_trd )130 IF(lwm) WRITE ( numont, namtrc_trd ) 131 131 132 132 IF(lwp) THEN … … 187 187 CALL ctl_opn( numnat_ref, 'namelist_top_ref' , 'OLD' , 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) 188 188 CALL ctl_opn( numnat_cfg, 'namelist_top_cfg' , 'OLD' , 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) 189 CALL ctl_opn( numont, 'output.namelist.top', 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE., 1 )189 IF(lwm) CALL ctl_opn( numont, 'output.namelist.top', 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE., 1 ) 190 190 191 191 REWIND( numnat_ref ) ! Namelist namtrc in reference namelist : Passive tracer variables … … 196 196 READ ( numnat_cfg, namtrc_run, IOSTAT = ios, ERR = 902 ) 197 197 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc in configuration namelist', lwp ) 198 WRITE ( numont, namtrc_run )198 IF(lwm) WRITE ( numont, namtrc_run ) 199 199 200 200 ! computes the first time step of tracer model … … 242 242 READ ( numnat_cfg, namtrc, IOSTAT = ios, ERR = 902 ) 243 243 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc in configuration namelist', lwp ) 244 WRITE ( numont, namtrc )244 IF(lwm) WRITE ( numont, namtrc ) 245 245 246 246 DO jn = 1, jptra … … 291 291 READ ( numnat_cfg, namtrc_dia, IOSTAT = ios, ERR = 904 ) 292 292 904 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_dia in configuration namelist', lwp ) 293 WRITE ( numont, namtrc_dia )293 IF(lwm) WRITE ( numont, namtrc_dia ) 294 294 295 295 IF(lwp) THEN -
branches/2014/dev_CNRS_2014/NEMOGCM/NEMO/TOP_SRC/trcstp.F90
r4896 r4897 97 97 IF( kt == nittrc000 ) THEN 98 98 CALL iom_close( numrtr ) ! close input tracer restart file 99 CALL FLUSH ( numont )! flush namelist output99 IF(lwm) CALL FLUSH( numont ) ! flush namelist output 100 100 ENDIF 101 101 IF( lrst_trc ) CALL trc_rst_wri ( kt ) ! write tracer restart file
Note: See TracChangeset
for help on using the changeset viewer.