Changeset 11317 for NEMO/branches/2019
- Timestamp:
- 2019-07-22T10:32:59+02:00 (5 years ago)
- Location:
- NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization
- Files:
-
- 151 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/cfgs/C1D_PAPA/MY_SRC/usrdef_nam.F90
r10072 r11317 39 39 CONTAINS 40 40 41 SUBROUTINE usr_def_nam( ldtxt, ldnam,cd_cfg, kk_cfg, kpi, kpj, kpk, kperio )41 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, kperio ) 42 42 !!---------------------------------------------------------------------- 43 43 !! *** ROUTINE dom_nam *** … … 51 51 !! ** input : - namusr_def namelist found in namelist_cfg 52 52 !!---------------------------------------------------------------------- 53 CHARACTER(len=*), DIMENSION(:), INTENT(out) :: ldtxt, ldnam ! stored print information54 53 CHARACTER(len=*) , INTENT(out) :: cd_cfg ! configuration name 55 54 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution … … 57 56 INTEGER , INTENT(out) :: kperio ! lateral global domain b.c. 58 57 ! 59 INTEGER :: ios , ii! Local integer58 INTEGER :: ios ! Local integer 60 59 !! 61 60 NAMELIST/namusr_def/ rn_bathy 62 61 !!---------------------------------------------------------------------- 63 62 ! 64 ii = 165 !66 63 REWIND( numnam_cfg ) ! Namelist namusr_def (exist in namelist_cfg only) 67 64 READ ( numnam_cfg, namusr_def, IOSTAT = ios, ERR = 902 ) 68 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namusr_def in configuration namelist' , .TRUE.)65 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namusr_def in configuration namelist' ) 69 66 ! 70 WRITE( ldnam(:), namusr_def )67 WRITE( numond, namusr_def ) 71 68 ! 72 69 cd_cfg = 'C1D' ! name & resolution (not used) … … 79 76 ! 80 77 ! ! control print 81 WRITE( ldtxt(ii),*) ' ' ; ii = ii + 182 WRITE( ldtxt(ii),*) 'usr_def_nam : read the user defined namelist (namusr_def) in namelist_cfg' ; ii = ii + 183 WRITE( ldtxt(ii),*) '~~~~~~~~~~~ ' ; ii = ii + 184 WRITE( ldtxt(ii),*) ' Namelist namusr_def : C1 case' ; ii = ii + 185 WRITE( ldtxt(ii),*) ' type of vertical coordinate : ' ; ii = ii + 186 WRITE( ldtxt(ii),*) ' z-coordinate flag ln_zco = ', ln_zco ; ii = ii + 187 WRITE( ldtxt(ii),*) ' z-partial-step coordinate flag ln_zps = ', ln_zps ; ii = ii + 188 WRITE( ldtxt(ii),*) ' s-coordinate flag ln_sco = ', ln_sco ; ii = ii + 189 WRITE( ldtxt(ii),*) ' C1D domain = 3 x 3 x75 grid-points ' ; ii = ii + 190 WRITE( ldtxt(ii),*) ' resulting global domain size : jpiglo = ', kpi ; ii = ii + 191 WRITE( ldtxt(ii),*) ' jpjglo = ', kpj ; ii = ii + 192 WRITE( ldtxt(ii),*) ' jpkglo = ', kpk ; ii = ii + 178 WRITE(numout,*) ' ' 79 WRITE(numout,*) 'usr_def_nam : read the user defined namelist (namusr_def) in namelist_cfg' 80 WRITE(numout,*) '~~~~~~~~~~~ ' 81 WRITE(numout,*) ' Namelist namusr_def : C1 case' 82 WRITE(numout,*) ' type of vertical coordinate : ' 83 WRITE(numout,*) ' z-coordinate flag ln_zco = ', ln_zco 84 WRITE(numout,*) ' z-partial-step coordinate flag ln_zps = ', ln_zps 85 WRITE(numout,*) ' s-coordinate flag ln_sco = ', ln_sco 86 WRITE(numout,*) ' C1D domain = 3 x 3 x75 grid-points ' 87 WRITE(numout,*) ' resulting global domain size : jpiglo = ', kpi 88 WRITE(numout,*) ' jpjglo = ', kpj 89 WRITE(numout,*) ' jpkglo = ', kpk 93 90 94 91 ! … … 96 93 kperio = 7 ! C1D configuration : 3x3 basin with cyclic Est-West and Norht-South condition 97 94 ! 98 WRITE( ldtxt(ii),*) ' Lateral boundary condition of the global domain' ; ii = ii + 199 WRITE( ldtxt(ii),*) ' C1D : closed basin jperio = ', kperio ; ii = ii + 195 WRITE(numout,*) ' Lateral boundary condition of the global domain' 96 WRITE(numout,*) ' C1D : closed basin jperio = ', kperio 100 97 ! 101 98 END SUBROUTINE usr_def_nam -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/cfgs/SHARED/namelist_ref
r11268 r11317 1297 1297 &nammpp ! Massively Parallel Processing ("key_mpp_mpi") 1298 1298 !----------------------------------------------------------------------- 1299 cn_mpi_send = 'I' ! mpi send/recieve type ='S', 'B', or 'I' for standard send,1300 ! ! buffer blocking send or immediate non-blocking sends, resp.1301 nn_buffer = 0 ! size in bytes of exported buffer ('B' case), 0 no exportation1302 1299 ln_nnogather = .true. ! activate code to avoid mpi_allgather use at the northfold 1303 1300 jpni = 0 ! jpni number of processors following i (set automatically if < 1) -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/doc/namelists/nambdy
r11042 r11317 33 33 ln_vol = .false. ! total volume correction (see nn_volctl parameter) 34 34 nn_volctl = 1 ! = 0, the total water flux across open boundaries is zero 35 nb_jpk_bdy = -1 ! number of levels in the bdy data (set < 0 if consistent with planned run)36 35 / -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/doc/namelists/nambdy_dta
r10075 r11317 2 2 &nambdy_dta ! open boundaries - external data (see nam_bdy) 3 3 !----------------------------------------------------------------------- 4 ln_full_vel = .false. ! ??? 5 4 ln_zinterp = .false. ! T if a vertical interpolation is required. Variables gdep[tuv] and e3[tuv] must exist in the file 5 ! ! automatically defined to T if the number of vertical levels in bdy dta /= jpk 6 ln_full_vel = .false. ! T if [uv]3d are "full" velocities and not only its baroclinic components 7 ! ! in this case, baroclinic and barotropic velocities will be recomputed -> [uv]2d not needed 8 ! 6 9 cn_dir = 'bdydta/' ! root directory for the BDY data location 7 10 !___________!_________________________!___________________!___________!_____________!________!___________!__________________!__________!_______________! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/doc/namelists/nammpp
r10445 r11317 2 2 &nammpp ! Massively Parallel Processing ("key_mpp_mpi") 3 3 !----------------------------------------------------------------------- 4 cn_mpi_send = 'I' ! mpi send/recieve type ='S', 'B', or 'I' for standard send,5 ! ! buffer blocking send or immediate non-blocking sends, resp.6 nn_buffer = 0 ! size in bytes of exported buffer ('B' case), 0 no exportation7 4 ln_nnogather = .true. ! activate code to avoid mpi_allgather use at the northfold 8 5 jpni = 0 ! jpni number of processors following i (set automatically if < 1) -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/ICE/icealb.F90
r10535 r11317 192 192 REWIND( numnam_ice_ref ) ! Namelist namalb in reference namelist : Albedo parameters 193 193 READ ( numnam_ice_ref, namalb, IOSTAT = ios, ERR = 901) 194 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namalb in reference namelist' , lwp)194 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namalb in reference namelist' ) 195 195 REWIND( numnam_ice_cfg ) ! Namelist namalb in configuration namelist : Albedo parameters 196 196 READ ( numnam_ice_cfg, namalb, IOSTAT = ios, ERR = 902 ) 197 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namalb in configuration namelist' , lwp)197 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namalb in configuration namelist' ) 198 198 IF(lwm) WRITE( numoni, namalb ) 199 199 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/ICE/icedia.F90
r10425 r11317 180 180 REWIND( numnam_ice_ref ) ! Namelist namdia in reference namelist : Parameters for ice 181 181 READ ( numnam_ice_ref, namdia, IOSTAT = ios, ERR = 901) 182 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdia in reference namelist' , lwp)182 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdia in reference namelist' ) 183 183 REWIND( numnam_ice_cfg ) ! Namelist namdia in configuration namelist : Parameters for ice 184 184 READ ( numnam_ice_cfg, namdia, IOSTAT = ios, ERR = 902 ) 185 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namdia in configuration namelist' , lwp)185 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namdia in configuration namelist' ) 186 186 IF(lwm) WRITE ( numoni, namdia ) 187 187 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/ICE/icedyn.F90
r10994 r11317 224 224 REWIND( numnam_ice_ref ) ! Namelist namdyn in reference namelist : Ice dynamics 225 225 READ ( numnam_ice_ref, namdyn, IOSTAT = ios, ERR = 901) 226 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn in reference namelist' , lwp)226 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn in reference namelist' ) 227 227 REWIND( numnam_ice_cfg ) ! Namelist namdyn in configuration namelist : Ice dynamics 228 228 READ ( numnam_ice_cfg, namdyn, IOSTAT = ios, ERR = 902 ) 229 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namdyn in configuration namelist' , lwp)229 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namdyn in configuration namelist' ) 230 230 IF(lwm) WRITE( numoni, namdyn ) 231 231 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/ICE/icedyn_adv.F90
r10911 r11317 133 133 REWIND( numnam_ice_ref ) ! Namelist namdyn_adv in reference namelist : Ice dynamics 134 134 READ ( numnam_ice_ref, namdyn_adv, IOSTAT = ios, ERR = 901) 135 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_adv in reference namelist' , lwp)135 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_adv in reference namelist' ) 136 136 REWIND( numnam_ice_cfg ) ! Namelist namdyn_adv in configuration namelist : Ice dynamics 137 137 READ ( numnam_ice_cfg, namdyn_adv, IOSTAT = ios, ERR = 902 ) 138 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namdyn_adv in configuration namelist' , lwp)138 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namdyn_adv in configuration namelist' ) 139 139 IF(lwm) WRITE( numoni, namdyn_adv ) 140 140 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/ICE/icedyn_rdgrft.F90
r10994 r11317 916 916 REWIND( numnam_ice_ref ) ! Namelist namicetdme in reference namelist : Ice mechanical ice redistribution 917 917 READ ( numnam_ice_ref, namdyn_rdgrft, IOSTAT = ios, ERR = 901) 918 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_rdgrft in reference namelist' , lwp)918 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_rdgrft in reference namelist' ) 919 919 REWIND( numnam_ice_cfg ) ! Namelist namdyn_rdgrft in configuration namelist : Ice mechanical ice redistribution 920 920 READ ( numnam_ice_cfg, namdyn_rdgrft, IOSTAT = ios, ERR = 902 ) 921 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namdyn_rdgrft in configuration namelist' , lwp)921 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namdyn_rdgrft in configuration namelist' ) 922 922 IF(lwm) WRITE ( numoni, namdyn_rdgrft ) 923 923 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/ICE/icedyn_rhg.F90
r10911 r11317 120 120 REWIND( numnam_ice_ref ) ! Namelist namdyn_rhg in reference namelist : Ice dynamics 121 121 READ ( numnam_ice_ref, namdyn_rhg, IOSTAT = ios, ERR = 901) 122 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_rhg in reference namelist' , lwp)122 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_rhg in reference namelist' ) 123 123 REWIND( numnam_ice_cfg ) ! Namelist namdyn_rhg in configuration namelist : Ice dynamics 124 124 READ ( numnam_ice_cfg, namdyn_rhg, IOSTAT = ios, ERR = 902 ) 125 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namdyn_rhg in configuration namelist' , lwp)125 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namdyn_rhg in configuration namelist' ) 126 126 IF(lwm) WRITE ( numoni, namdyn_rhg ) 127 127 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/ICE/iceistate.F90
r11263 r11317 519 519 REWIND( numnam_ice_ref ) ! Namelist namini in reference namelist : Ice initial state 520 520 READ ( numnam_ice_ref, namini, IOSTAT = ios, ERR = 901) 521 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namini in reference namelist' , lwp)521 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namini in reference namelist' ) 522 522 REWIND( numnam_ice_cfg ) ! Namelist namini in configuration namelist : Ice initial state 523 523 READ ( numnam_ice_cfg, namini, IOSTAT = ios, ERR = 902 ) 524 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namini in configuration namelist' , lwp)524 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namini in configuration namelist' ) 525 525 IF(lwm) WRITE ( numoni, namini ) 526 526 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/ICE/iceitd.F90
r10994 r11317 685 685 REWIND( numnam_ice_ref ) ! Namelist namitd in reference namelist : Parameters for ice 686 686 READ ( numnam_ice_ref, namitd, IOSTAT = ios, ERR = 901) 687 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namitd in reference namelist' , lwp)687 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namitd in reference namelist' ) 688 688 REWIND( numnam_ice_cfg ) ! Namelist namitd in configuration namelist : Parameters for ice 689 689 READ ( numnam_ice_cfg, namitd, IOSTAT = ios, ERR = 902 ) 690 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namitd in configuration namelist' , lwp)690 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namitd in configuration namelist' ) 691 691 IF(lwm) WRITE( numoni, namitd ) 692 692 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/ICE/icesbc.F90
r10535 r11317 272 272 REWIND( numnam_ice_ref ) ! Namelist namsbc in reference namelist : Ice dynamics 273 273 READ ( numnam_ice_ref, namsbc, IOSTAT = ios, ERR = 901) 274 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc in reference namelist' , lwp)274 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc in reference namelist' ) 275 275 REWIND( numnam_ice_cfg ) ! Namelist namsbc in configuration namelist : Ice dynamics 276 276 READ ( numnam_ice_cfg, namsbc, IOSTAT = ios, ERR = 902 ) 277 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namsbc in configuration namelist' , lwp)277 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namsbc in configuration namelist' ) 278 278 IF(lwm) WRITE( numoni, namsbc ) 279 279 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/ICE/icestp.F90
r10994 r11317 303 303 REWIND( numnam_ice_ref ) ! Namelist nampar in reference namelist : Parameters for ice 304 304 READ ( numnam_ice_ref, nampar, IOSTAT = ios, ERR = 901) 305 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampar in reference namelist' , lwp)305 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampar in reference namelist' ) 306 306 REWIND( numnam_ice_cfg ) ! Namelist nampar in configuration namelist : Parameters for ice 307 307 READ ( numnam_ice_cfg, nampar, IOSTAT = ios, ERR = 902 ) 308 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampar in configuration namelist' , lwp)308 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampar in configuration namelist' ) 309 309 IF(lwm) WRITE( numoni, nampar ) 310 310 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/ICE/icethd.F90
r10994 r11317 539 539 REWIND( numnam_ice_ref ) ! Namelist namthd in reference namelist : Ice thermodynamics 540 540 READ ( numnam_ice_ref, namthd, IOSTAT = ios, ERR = 901) 541 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namthd in reference namelist' , lwp)541 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namthd in reference namelist' ) 542 542 REWIND( numnam_ice_cfg ) ! Namelist namthd in configuration namelist : Ice thermodynamics 543 543 READ ( numnam_ice_cfg, namthd, IOSTAT = ios, ERR = 902 ) 544 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namthd in configuration namelist' , lwp)544 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namthd in configuration namelist' ) 545 545 IF(lwm) WRITE( numoni, namthd ) 546 546 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/ICE/icethd_da.F90
r10069 r11317 179 179 REWIND( numnam_ice_ref ) ! Namelist namthd_da in reference namelist : Ice thermodynamics 180 180 READ ( numnam_ice_ref, namthd_da, IOSTAT = ios, ERR = 901) 181 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namthd_da in reference namelist' , lwp)181 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namthd_da in reference namelist' ) 182 182 REWIND( numnam_ice_cfg ) ! Namelist namthd_da in configuration namelist : Ice thermodynamics 183 183 READ ( numnam_ice_cfg, namthd_da, IOSTAT = ios, ERR = 902 ) 184 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namthd_da in configuration namelist' , lwp)184 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namthd_da in configuration namelist' ) 185 185 IF(lwm) WRITE( numoni, namthd_da ) 186 186 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/ICE/icethd_do.F90
r11263 r11317 443 443 REWIND( numnam_ice_ref ) ! Namelist namthd_do in reference namelist : Ice thermodynamics 444 444 READ ( numnam_ice_ref, namthd_do, IOSTAT = ios, ERR = 901) 445 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namthd_do in reference namelist' , lwp)445 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namthd_do in reference namelist' ) 446 446 REWIND( numnam_ice_cfg ) ! Namelist namthd_do in configuration namelist : Ice thermodynamics 447 447 READ ( numnam_ice_cfg, namthd_do, IOSTAT = ios, ERR = 902 ) 448 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namthd_do in configuration namelist' , lwp)448 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namthd_do in configuration namelist' ) 449 449 IF(lwm) WRITE( numoni, namthd_do ) 450 450 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/ICE/icethd_pnd.F90
r10532 r11317 210 210 REWIND( numnam_ice_ref ) ! Namelist namthd_pnd in reference namelist : Melt Ponds 211 211 READ ( numnam_ice_ref, namthd_pnd, IOSTAT = ios, ERR = 901) 212 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namthd_pnd in reference namelist' , lwp)212 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namthd_pnd in reference namelist' ) 213 213 REWIND( numnam_ice_cfg ) ! Namelist namthd_pnd in configuration namelist : Melt Ponds 214 214 READ ( numnam_ice_cfg, namthd_pnd, IOSTAT = ios, ERR = 902 ) 215 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namthd_pnd in configuration namelist' , lwp)215 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namthd_pnd in configuration namelist' ) 216 216 IF(lwm) WRITE ( numoni, namthd_pnd ) 217 217 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/ICE/icethd_sal.F90
r10069 r11317 134 134 REWIND( numnam_ice_ref ) ! Namelist namthd_sal in reference namelist : Ice salinity 135 135 READ ( numnam_ice_ref, namthd_sal, IOSTAT = ios, ERR = 901) 136 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namthd_sal in reference namelist' , lwp)136 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namthd_sal in reference namelist' ) 137 137 REWIND( numnam_ice_cfg ) ! Namelist namthd_sal in configuration namelist : Ice salinity 138 138 READ ( numnam_ice_cfg, namthd_sal, IOSTAT = ios, ERR = 902 ) 139 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namthd_sal in configuration namelist' , lwp)139 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namthd_sal in configuration namelist' ) 140 140 IF(lwm) WRITE ( numoni, namthd_sal ) 141 141 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/ICE/icethd_zdf.F90
r10534 r11317 90 90 REWIND( numnam_ice_ref ) ! Namelist namthd_zdf in reference namelist : Ice thermodynamics 91 91 READ ( numnam_ice_ref, namthd_zdf, IOSTAT = ios, ERR = 901) 92 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namthd_zdf in reference namelist' , lwp)92 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namthd_zdf in reference namelist' ) 93 93 REWIND( numnam_ice_cfg ) ! Namelist namthd_zdf in configuration namelist : Ice thermodynamics 94 94 READ ( numnam_ice_cfg, namthd_zdf, IOSTAT = ios, ERR = 902 ) 95 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namthd_zdf in configuration namelist' , lwp)95 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namthd_zdf in configuration namelist' ) 96 96 IF(lwm) WRITE( numoni, namthd_zdf ) 97 97 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/NST/agrif_user.F90
r10425 r11317 714 714 REWIND( numnam_ref ) ! Namelist namagrif in reference namelist : AGRIF zoom 715 715 READ ( numnam_ref, namagrif, IOSTAT = ios, ERR = 901) 716 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namagrif in reference namelist' , lwp)716 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namagrif in reference namelist' ) 717 717 REWIND( numnam_cfg ) ! Namelist namagrif in configuration namelist : AGRIF zoom 718 718 READ ( numnam_cfg, namagrif, IOSTAT = ios, ERR = 902 ) 719 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namagrif in configuration namelist' , lwp)719 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namagrif in configuration namelist' ) 720 720 IF(lwm) WRITE ( numond, namagrif ) 721 721 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/ASM/asminc.F90
r10425 r11317 147 147 REWIND( numnam_ref ) ! Namelist nam_asminc in reference namelist : Assimilation increment 148 148 READ ( numnam_ref, nam_asminc, IOSTAT = ios, ERR = 901) 149 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_asminc in reference namelist' , lwp)149 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_asminc in reference namelist' ) 150 150 REWIND( numnam_cfg ) ! Namelist nam_asminc in configuration namelist : Assimilation increment 151 151 READ ( numnam_cfg, nam_asminc, IOSTAT = ios, ERR = 902 ) 152 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nam_asminc in configuration namelist' , lwp)152 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nam_asminc in configuration namelist' ) 153 153 IF(lwm) WRITE ( numond, nam_asminc ) 154 154 -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/BDY/bdydta.F90
r11268 r11317 376 376 REWIND(numnam_ref) 377 377 READ ( numnam_ref, nambdy_dta, IOSTAT = ios, ERR = 901) 378 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy_dta in reference namelist' , lwp)378 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy_dta in reference namelist' ) 379 379 380 380 ! by-pass nambdy_dta reading if no input data used in this bdy … … 385 385 ! WARNING: we don't do a rewind here, each bdy reads its own nambdy_dta block one after another 386 386 READ ( numnam_cfg, nambdy_dta, IOSTAT = ios, ERR = 902 ) 387 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nambdy_dta in configuration namelist' , lwp)387 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nambdy_dta in configuration namelist' ) 388 388 IF(lwm) WRITE( numond, nambdy_dta ) 389 389 ENDIF -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/BDY/bdyini.F90
r11258 r11317 78 78 REWIND( numnam_ref ) ! Namelist nambdy in reference namelist :Unstructured open boundaries 79 79 READ ( numnam_ref, nambdy, IOSTAT = ios, ERR = 901) 80 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy in reference namelist' , lwp)80 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy in reference namelist' ) 81 81 ! make sur that all elements of the namelist variables have a default definition from namelist_ref 82 82 ln_coords_file (2:jp_bdy) = ln_coords_file (1) … … 99 99 REWIND( numnam_cfg ) ! Namelist nambdy in configuration namelist :Unstructured open boundaries 100 100 READ ( numnam_cfg, nambdy, IOSTAT = ios, ERR = 902 ) 101 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nambdy in configuration namelist' , lwp)101 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nambdy in configuration namelist' ) 102 102 IF(lwm) WRITE ( numond, nambdy ) 103 103 … … 1094 1094 ! keep full control of the configuration namelist 1095 1095 READ ( numnam_cfg, nambdy_index, IOSTAT = ios, ERR = 904 ) 1096 904 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy_index in configuration namelist' , lwp)1096 904 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy_index in configuration namelist' ) 1097 1097 IF(lwm) WRITE ( numond, nambdy_index ) 1098 1098 -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/BDY/bdytides.F90
r11223 r11317 96 96 REWIND( numnam_ref ) 97 97 READ ( numnam_ref, nambdy_tide, IOSTAT = ios, ERR = 901) 98 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy_tide in reference namelist' , lwp)98 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy_tide in reference namelist' ) 99 99 ! Don't REWIND here - may need to read more than one of these namelists. 100 100 READ ( numnam_cfg, nambdy_tide, IOSTAT = ios, ERR = 902 ) 101 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nambdy_tide in configuration namelist' , lwp)101 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nambdy_tide in configuration namelist' ) 102 102 IF(lwm) WRITE ( numond, nambdy_tide ) 103 103 ! ! Parameter control and print -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/C1D/c1d.F90
r10068 r11317 52 52 REWIND( numnam_ref ) ! Namelist namc1d in reference namelist : Tracer advection scheme 53 53 READ ( numnam_ref, namc1d, IOSTAT = ios, ERR = 901) 54 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namc1d in reference namelist' , lwp)54 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namc1d in reference namelist' ) 55 55 ! 56 56 REWIND( numnam_cfg ) ! Namelist namtra_adv in configuration namelist : Tracer advection scheme 57 57 READ ( numnam_cfg, namc1d, IOSTAT = ios, ERR = 902 ) 58 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namc1d in configuration namelist' , lwp)58 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namc1d in configuration namelist' ) 59 59 IF(lwm) WRITE ( numond, namc1d ) 60 60 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/C1D/dtauvd.F90
r10068 r11317 62 62 REWIND( numnam_ref ) ! Namelist namc1d_uvd in reference namelist : 63 63 READ ( numnam_ref, namc1d_uvd, IOSTAT = ios, ERR = 901) 64 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namc1d_uvd in reference namelist' , lwp)64 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namc1d_uvd in reference namelist' ) 65 65 ! 66 66 REWIND( numnam_cfg ) ! Namelist namc1d_uvd in configuration namelist : Parameters of the run 67 67 READ ( numnam_cfg, namc1d_uvd, IOSTAT = ios, ERR = 902 ) 68 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namc1d_uvd in configuration namelist' , lwp)68 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namc1d_uvd in configuration namelist' ) 69 69 IF(lwm) WRITE ( numond, namc1d_uvd ) 70 70 -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/C1D/dyndmp.F90
r10425 r11317 81 81 REWIND( numnam_ref ) ! Namelist namc1d_dyndmp in reference namelist : 82 82 READ ( numnam_ref, namc1d_dyndmp, IOSTAT = ios, ERR = 901) 83 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namc1d_dyndmp in reference namelist' , lwp)83 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namc1d_dyndmp in reference namelist' ) 84 84 REWIND( numnam_cfg ) ! Namelist namc1d_dyndmp in configuration namelist : Parameters of the run 85 85 READ ( numnam_cfg, namc1d_dyndmp, IOSTAT = ios, ERR = 902 ) 86 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namc1d_dyndmp in configuration namelist' , lwp)86 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namc1d_dyndmp in configuration namelist' ) 87 87 IF(lwm) WRITE ( numond, namc1d_dyndmp ) 88 88 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/CRS/crsdom.F90
r11192 r11317 579 579 ENDDO 580 580 CASE DEFAULT 581 STOP581 CALL ctl_stop( 'STOP', 'error from crs_dom_ope_3d, you should not be there...' ) 582 582 END SELECT 583 583 … … 1947 1947 1948 1948 CASE DEFAULT 1949 STOP1949 CALL ctl_stop( 'STOP', 'error from crs_dom_def, you should not be there (1) ...' ) 1950 1950 END SELECT 1951 1951 IF( nlcjt_crs(jn) > jpj_crs ) jpj_crs = jpj_crs + 1 … … 1996 1996 1997 1997 CASE DEFAULT 1998 STOP1998 CALL ctl_stop( 'STOP', 'error from crs_dom_def, you should not be there (2) ...' ) 1999 1999 END SELECT 2000 2000 -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/CRS/crsini.F90
r10068 r11317 82 82 REWIND( numnam_ref ) ! Namelist namrun in reference namelist : Parameters of the run 83 83 READ ( numnam_ref, namcrs, IOSTAT = ios, ERR = 901) 84 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcrs in reference namelist' , lwp)84 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcrs in reference namelist' ) 85 85 REWIND( numnam_cfg ) ! Namelist namrun in configuration namelist : Parameters of the run 86 86 READ ( numnam_cfg, namcrs, IOSTAT = ios, ERR = 902 ) 87 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namcrs in configuration namelist' , lwp)87 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namcrs in configuration namelist' ) 88 88 IF(lwm) WRITE ( numond, namcrs ) 89 89 -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/DIA/dia25h.F90
r10641 r11317 55 55 REWIND ( numnam_ref ) ! Read Namelist nam_dia25h in reference namelist : 25hour mean diagnostics 56 56 READ ( numnam_ref, nam_dia25h, IOSTAT=ios, ERR= 901 ) 57 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_dia25h in reference namelist' , lwp)57 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_dia25h in reference namelist' ) 58 58 REWIND( numnam_cfg ) ! Namelist nam_dia25h in configuration namelist 25hour diagnostics 59 59 READ ( numnam_cfg, nam_dia25h, IOSTAT = ios, ERR = 902 ) 60 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nam_dia25h in configuration namelist' , lwp)60 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nam_dia25h in configuration namelist' ) 61 61 IF(lwm) WRITE ( numond, nam_dia25h ) 62 62 -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/DIA/diadct.F90
r10425 r11317 135 135 REWIND( numnam_ref ) ! Namelist namdct in reference namelist : Diagnostic: transport through sections 136 136 READ ( numnam_ref, namdct, IOSTAT = ios, ERR = 901) 137 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdct in reference namelist' , lwp)137 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdct in reference namelist' ) 138 138 139 139 REWIND( numnam_cfg ) ! Namelist namdct in configuration namelist : Diagnostic: transport through sections 140 140 READ ( numnam_cfg, namdct, IOSTAT = ios, ERR = 902 ) 141 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namdct in configuration namelist' , lwp)141 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namdct in configuration namelist' ) 142 142 IF(lwm) WRITE ( numond, namdct ) 143 143 -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/DIA/diaharm.F90
r10835 r11317 89 89 REWIND( numnam_ref ) ! Namelist nam_diaharm in reference namelist : Tidal harmonic analysis 90 90 READ ( numnam_ref, nam_diaharm, IOSTAT = ios, ERR = 901) 91 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_diaharm in reference namelist' , lwp)91 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_diaharm in reference namelist' ) 92 92 REWIND( numnam_cfg ) ! Namelist nam_diaharm in configuration namelist : Tidal harmonic analysis 93 93 READ ( numnam_cfg, nam_diaharm, IOSTAT = ios, ERR = 902 ) 94 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nam_diaharm in configuration namelist' , lwp)94 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nam_diaharm in configuration namelist' ) 95 95 IF(lwm) WRITE ( numond, nam_diaharm ) 96 96 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/DIA/diahsb.F90
r10425 r11317 362 362 REWIND( numnam_ref ) ! Namelist namhsb in reference namelist 363 363 READ ( numnam_ref, namhsb, IOSTAT = ios, ERR = 901) 364 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namhsb in reference namelist' , lwp)364 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namhsb in reference namelist' ) 365 365 REWIND( numnam_cfg ) ! Namelist namhsb in configuration namelist 366 366 READ ( numnam_cfg, namhsb, IOSTAT = ios, ERR = 902 ) 367 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namhsb in configuration namelist' , lwp)367 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namhsb in configuration namelist' ) 368 368 IF(lwm) WRITE( numond, namhsb ) 369 369 -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/DIA/diaptr.F90
r10425 r11317 393 393 REWIND( numnam_ref ) ! Namelist namptr in reference namelist : Poleward transport 394 394 READ ( numnam_ref, namptr, IOSTAT = ios, ERR = 901) 395 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namptr in reference namelist' , lwp)395 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namptr in reference namelist' ) 396 396 397 397 REWIND( numnam_cfg ) ! Namelist namptr in configuration namelist : Poleward transport 398 398 READ ( numnam_cfg, namptr, IOSTAT = ios, ERR = 902 ) 399 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namptr in configuration namelist' , lwp)399 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namptr in configuration namelist' ) 400 400 IF(lwm) WRITE ( numond, namptr ) 401 401 -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/DIA/diatmb.F90
r10499 r11317 43 43 REWIND( numnam_ref ) ! Read Namelist nam_diatmb in reference namelist : TMB diagnostics 44 44 READ ( numnam_ref, nam_diatmb, IOSTAT=ios, ERR= 901 ) 45 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_diatmb in reference namelist' , lwp)45 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_diatmb in reference namelist' ) 46 46 47 47 REWIND( numnam_cfg ) ! Namelist nam_diatmb in configuration namelist TMB diagnostics 48 48 READ ( numnam_cfg, nam_diatmb, IOSTAT = ios, ERR = 902 ) 49 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nam_diatmb in configuration namelist' , lwp)49 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nam_diatmb in configuration namelist' ) 50 50 IF(lwm) WRITE ( numond, nam_diatmb ) 51 51 -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/DIU/diurnal_bulk.F90
r10069 r11317 54 54 REWIND( numnam_ref ) 55 55 READ ( numnam_ref, namdiu, IOSTAT = ios, ERR = 901 ) 56 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdiu in reference namelist' , lwp)56 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdiu in reference namelist' ) 57 57 REWIND( numnam_cfg ) 58 58 READ ( numnam_cfg, namdiu, IOSTAT = ios, ERR = 902 ) 59 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namdiu in configuration namelist' , lwp)59 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namdiu in configuration namelist' ) 60 60 ! 61 61 IF( ln_diurnal_only .AND. ( .NOT. ln_diurnal ) ) THEN -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/DOM/domain.F90
r11258 r11317 308 308 REWIND( numnam_ref ) ! Namelist namrun in reference namelist : Parameters of the run 309 309 READ ( numnam_ref, namrun, IOSTAT = ios, ERR = 901) 310 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namrun in reference namelist' , lwp)310 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namrun in reference namelist' ) 311 311 REWIND( numnam_cfg ) ! Namelist namrun in configuration namelist : Parameters of the run 312 312 READ ( numnam_cfg, namrun, IOSTAT = ios, ERR = 902 ) 313 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namrun in configuration namelist' , lwp)313 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namrun in configuration namelist' ) 314 314 IF(lwm) WRITE ( numond, namrun ) 315 315 ! … … 401 401 REWIND( numnam_ref ) ! Namelist namdom in reference namelist : space & time domain (bathymetry, mesh, timestep) 402 402 READ ( numnam_ref, namdom, IOSTAT = ios, ERR = 903) 403 903 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdom in reference namelist' , lwp)403 903 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdom in reference namelist' ) 404 404 REWIND( numnam_cfg ) ! Namelist namdom in configuration namelist : space & time domain (bathymetry, mesh, timestep) 405 405 READ ( numnam_cfg, namdom, IOSTAT = ios, ERR = 904 ) 406 904 IF( ios > 0 ) CALL ctl_nam ( ios , 'namdom in configuration namelist' , lwp)406 904 IF( ios > 0 ) CALL ctl_nam ( ios , 'namdom in configuration namelist' ) 407 407 IF(lwm) WRITE( numond, namdom ) 408 408 ! … … 433 433 REWIND( numnam_ref ) ! Namelist namnc4 in reference namelist : NETCDF 434 434 READ ( numnam_ref, namnc4, IOSTAT = ios, ERR = 907) 435 907 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namnc4 in reference namelist' , lwp)435 907 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namnc4 in reference namelist' ) 436 436 REWIND( numnam_cfg ) ! Namelist namnc4 in configuration namelist : NETCDF 437 437 READ ( numnam_cfg, namnc4, IOSTAT = ios, ERR = 908 ) 438 908 IF( ios > 0 ) CALL ctl_nam ( ios , 'namnc4 in configuration namelist' , lwp)438 908 IF( ios > 0 ) CALL ctl_nam ( ios , 'namnc4 in configuration namelist' ) 439 439 IF(lwm) WRITE( numond, namnc4 ) 440 440 … … 511 511 512 512 513 SUBROUTINE domain_cfg( ldtxt,cd_cfg, kk_cfg, kpi, kpj, kpk, kperio )513 SUBROUTINE domain_cfg( cd_cfg, kk_cfg, kpi, kpj, kpk, kperio ) 514 514 !!---------------------------------------------------------------------- 515 515 !! *** ROUTINE dom_nam *** … … 519 519 !! ** Method : read the cn_domcfg NetCDF file 520 520 !!---------------------------------------------------------------------- 521 CHARACTER(len=*), DIMENSION(:), INTENT(out) :: ldtxt ! stored print information522 521 CHARACTER(len=*) , INTENT(out) :: cd_cfg ! configuration name 523 522 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution … … 525 524 INTEGER , INTENT(out) :: kperio ! lateral global domain b.c. 526 525 ! 527 INTEGER :: inum , ii! local integer526 INTEGER :: inum ! local integer 528 527 REAL(wp) :: zorca_res ! local scalars 529 528 REAL(wp) :: zperio ! - - … … 531 530 !!---------------------------------------------------------------------- 532 531 ! 533 ii = 1 534 WRITE(ldtxt(ii),*) ' ' ; ii = ii+1 535 WRITE(ldtxt(ii),*) 'domain_cfg : domain size read in ', TRIM( cn_domcfg ), ' file' ; ii = ii+1 536 WRITE(ldtxt(ii),*) '~~~~~~~~~~ ' ; ii = ii+1 532 WRITE(numout,*) ' ' 533 WRITE(numout,*) 'domain_cfg : domain size read in ', TRIM( cn_domcfg ), ' file' 534 WRITE(numout,*) '~~~~~~~~~~ ' 537 535 ! 538 536 CALL iom_open( cn_domcfg, inum ) … … 545 543 CALL iom_get( inum, 'ORCA_index', zorca_res ) ; kk_cfg = NINT( zorca_res ) 546 544 ! 547 WRITE( ldtxt(ii),*) ' .' ; ii = ii+1548 WRITE( ldtxt(ii),*) ' ==>>> ORCA configuration ' ; ii = ii+1549 WRITE( ldtxt(ii),*) ' .' ; ii = ii+1545 WRITE(numout,*) ' .' 546 WRITE(numout,*) ' ==>>> ORCA configuration ' 547 WRITE(numout,*) ' .' 550 548 ! 551 549 ELSE !- cd_cfg & k_cfg are not used … … 568 566 CALL iom_close( inum ) 569 567 ! 570 WRITE( ldtxt(ii),*) ' cn_cfg = ', TRIM(cd_cfg), ' nn_cfg = ', kk_cfg ; ii = ii+1571 WRITE( ldtxt(ii),*) ' jpiglo = ', kpi ; ii = ii+1572 WRITE( ldtxt(ii),*) ' jpjglo = ', kpj ; ii = ii+1573 WRITE( ldtxt(ii),*) ' jpkglo = ', kpk ; ii = ii+1574 WRITE( ldtxt(ii),*) ' type of global domain lateral boundary jperio = ', kperio ; ii = ii+1568 WRITE(numout,*) ' cn_cfg = ', TRIM(cd_cfg), ' nn_cfg = ', kk_cfg 569 WRITE(numout,*) ' jpiglo = ', kpi 570 WRITE(numout,*) ' jpjglo = ', kpj 571 WRITE(numout,*) ' jpkglo = ', kpk 572 WRITE(numout,*) ' type of global domain lateral boundary jperio = ', kperio 575 573 ! 576 574 END SUBROUTINE domain_cfg -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/DOM/dommsk.F90
r11263 r11317 106 106 REWIND( numnam_ref ) ! Namelist namlbc in reference namelist : Lateral momentum boundary condition 107 107 READ ( numnam_ref, namlbc, IOSTAT = ios, ERR = 901 ) 108 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlbc in reference namelist' , lwp)108 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlbc in reference namelist' ) 109 109 REWIND( numnam_cfg ) ! Namelist namlbc in configuration namelist : Lateral momentum boundary condition 110 110 READ ( numnam_cfg, namlbc, IOSTAT = ios, ERR = 902 ) 111 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namlbc in configuration namelist' , lwp)111 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namlbc in configuration namelist' ) 112 112 IF(lwm) WRITE ( numond, namlbc ) 113 113 … … 151 151 REWIND( numnam_ref ) ! Namelist nambdy in reference namelist :Unstructured open boundaries 152 152 READ ( numnam_ref, nambdy, IOSTAT = ios, ERR = 903) 153 903 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy in reference namelist' , lwp)153 903 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy in reference namelist' ) 154 154 REWIND( numnam_cfg ) ! Namelist nambdy in configuration namelist :Unstructured open boundaries 155 155 READ ( numnam_cfg, nambdy, IOSTAT = ios, ERR = 904 ) 156 904 IF( ios > 0 ) CALL ctl_nam ( ios , 'nambdy in configuration namelist' , lwp)156 904 IF( ios > 0 ) CALL ctl_nam ( ios , 'nambdy in configuration namelist' ) 157 157 ! ------------------------ 158 158 IF ( ln_bdy .AND. ln_mask_file ) THEN -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/DOM/domvvl.F90
r10425 r11317 993 993 REWIND( numnam_ref ) ! Namelist nam_vvl in reference namelist : 994 994 READ ( numnam_ref, nam_vvl, IOSTAT = ios, ERR = 901) 995 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_vvl in reference namelist' , lwp)995 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_vvl in reference namelist' ) 996 996 REWIND( numnam_cfg ) ! Namelist nam_vvl in configuration namelist : Parameters of the run 997 997 READ ( numnam_cfg, nam_vvl, IOSTAT = ios, ERR = 902 ) 998 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nam_vvl in configuration namelist' , lwp)998 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nam_vvl in configuration namelist' ) 999 999 IF(lwm) WRITE ( numond, nam_vvl ) 1000 1000 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/DOM/dtatsd.F90
r10213 r11317 67 67 REWIND( numnam_ref ) ! Namelist namtsd in reference namelist : 68 68 READ ( numnam_ref, namtsd, IOSTAT = ios, ERR = 901) 69 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtsd in reference namelist' , lwp)69 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtsd in reference namelist' ) 70 70 REWIND( numnam_cfg ) ! Namelist namtsd in configuration namelist : Parameters of the run 71 71 READ ( numnam_cfg, namtsd, IOSTAT = ios, ERR = 902 ) 72 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtsd in configuration namelist' , lwp)72 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtsd in configuration namelist' ) 73 73 IF(lwm) WRITE ( numond, namtsd ) 74 74 -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/DOM/iscplhsb.F90
r10425 r11317 186 186 ! CALL lbc_sum(pts_flx (:,:,:,jp_sal),'T',1.) 187 187 ! CALL lbc_sum(pts_flx (:,:,:,jp_tem),'T',1.) 188 STOP ' iscpl_cons: please modify this module !'188 CALL ctl_stop( 'STOP', ' iscpl_cons: please modify this MODULE !' ) 189 189 !!gm end 190 190 ! if no neighbour wet cell in case of 2close a cell", need to find the nearest wet point -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/DOM/iscplini.F90
r10425 r11317 64 64 REWIND( numnam_ref ) ! Namelist namsbc_iscpl in reference namelist : Ice sheet coupling 65 65 READ ( numnam_ref, namsbc_iscpl, IOSTAT = ios, ERR = 901) 66 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_iscpl in reference namelist' , lwp)66 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_iscpl in reference namelist' ) 67 67 REWIND( numnam_cfg ) ! Namelist namsbc_iscpl in configuration namelist : Ice Sheet coupling 68 68 READ ( numnam_cfg, namsbc_iscpl, IOSTAT = ios, ERR = 902 ) 69 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namsbc_iscpl in configuration namelist' , lwp)69 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namsbc_iscpl in configuration namelist' ) 70 70 IF(lwm) WRITE ( numond, namsbc_iscpl ) 71 71 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/DYN/dynadv.F90
r10068 r11317 106 106 REWIND( numnam_ref ) ! Namelist namdyn_adv in reference namelist : Momentum advection scheme 107 107 READ ( numnam_ref, namdyn_adv, IOSTAT = ios, ERR = 901) 108 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_adv in reference namelist' , lwp)108 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_adv in reference namelist' ) 109 109 REWIND( numnam_cfg ) ! Namelist namdyn_adv in configuration namelist : Momentum advection scheme 110 110 READ ( numnam_cfg, namdyn_adv, IOSTAT = ios, ERR = 902 ) 111 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namdyn_adv in configuration namelist' , lwp)111 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namdyn_adv in configuration namelist' ) 112 112 IF(lwm) WRITE ( numond, namdyn_adv ) 113 113 -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/DYN/dynhpg.F90
r10491 r11317 152 152 REWIND( numnam_ref ) ! Namelist namdyn_hpg in reference namelist : Hydrostatic pressure gradient 153 153 READ ( numnam_ref, namdyn_hpg, IOSTAT = ios, ERR = 901) 154 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_hpg in reference namelist' , lwp)154 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_hpg in reference namelist' ) 155 155 ! 156 156 REWIND( numnam_cfg ) ! Namelist namdyn_hpg in configuration namelist : Hydrostatic pressure gradient 157 157 READ ( numnam_cfg, namdyn_hpg, IOSTAT = ios, ERR = 902 ) 158 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namdyn_hpg in configuration namelist' , lwp)158 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namdyn_hpg in configuration namelist' ) 159 159 IF(lwm) WRITE ( numond, namdyn_hpg ) 160 160 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/DYN/dynspg.F90
r10068 r11317 202 202 REWIND( numnam_ref ) ! Namelist namdyn_spg in reference namelist : Free surface 203 203 READ ( numnam_ref, namdyn_spg, IOSTAT = ios, ERR = 901) 204 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_spg in reference namelist' , lwp)204 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_spg in reference namelist' ) 205 205 ! 206 206 REWIND( numnam_cfg ) ! Namelist namdyn_spg in configuration namelist : Free surface 207 207 READ ( numnam_cfg, namdyn_spg, IOSTAT = ios, ERR = 902 ) 208 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namdyn_spg in configuration namelist' , lwp)208 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namdyn_spg in configuration namelist' ) 209 209 IF(lwm) WRITE ( numond, namdyn_spg ) 210 210 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/DYN/dynvor.F90
r10425 r11317 851 851 REWIND( numnam_ref ) ! Namelist namdyn_vor in reference namelist : Vorticity scheme options 852 852 READ ( numnam_ref, namdyn_vor, IOSTAT = ios, ERR = 901) 853 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_vor in reference namelist' , lwp)853 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_vor in reference namelist' ) 854 854 REWIND( numnam_cfg ) ! Namelist namdyn_vor in configuration namelist : Vorticity scheme options 855 855 READ ( numnam_cfg, namdyn_vor, IOSTAT = ios, ERR = 902 ) 856 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namdyn_vor in configuration namelist' , lwp)856 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namdyn_vor in configuration namelist' ) 857 857 IF(lwm) WRITE ( numond, namdyn_vor ) 858 858 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/DYN/wet_dry.F90
r10499 r11317 81 81 REWIND( numnam_ref ) ! Namelist namwad in reference namelist : Parameters for Wetting/Drying 82 82 READ ( numnam_ref, namwad, IOSTAT = ios, ERR = 905) 83 905 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namwad in reference namelist' , .TRUE.)83 905 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namwad in reference namelist' ) 84 84 REWIND( numnam_cfg ) ! Namelist namwad in configuration namelist : Parameters for Wetting/Drying 85 85 READ ( numnam_cfg, namwad, IOSTAT = ios, ERR = 906) 86 906 IF( ios > 0 ) CALL ctl_nam ( ios , 'namwad in configuration namelist' , .TRUE.)86 906 IF( ios > 0 ) CALL ctl_nam ( ios , 'namwad in configuration namelist' ) 87 87 IF(lwm) WRITE ( numond, namwad ) 88 88 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/FLO/floats.F90
r10068 r11317 90 90 REWIND( numnam_ref ) ! Namelist namflo in reference namelist : Floats 91 91 READ ( numnam_ref, namflo, IOSTAT = ios, ERR = 901) 92 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namflo in reference namelist' , lwp)92 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namflo in reference namelist' ) 93 93 94 94 REWIND( numnam_cfg ) ! Namelist namflo in configuration namelist : Floats 95 95 READ ( numnam_cfg, namflo, IOSTAT = ios, ERR = 902 ) 96 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namflo in configuration namelist' , lwp)96 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namflo in configuration namelist' ) 97 97 IF(lwm) WRITE ( numond, namflo ) 98 98 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/ICB/icbini.F90
r10702 r11317 406 406 REWIND( numnam_ref ) ! Namelist namberg in reference namelist : Iceberg parameters 407 407 READ ( numnam_ref, namberg, IOSTAT = ios, ERR = 901) 408 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namberg in reference namelist' , lwp)408 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namberg in reference namelist' ) 409 409 REWIND( numnam_cfg ) ! Namelist namberg in configuration namelist : Iceberg parameters 410 410 READ ( numnam_cfg, namberg, IOSTAT = ios, ERR = 902 ) 411 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namberg in configuration namelist' , lwp)411 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namberg in configuration namelist' ) 412 412 IF(lwm) WRITE ( numond, namberg ) 413 413 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/ICB/icblbc.F90
r10570 r11317 278 278 CALL mppsend( 12, zwebergs(1), 1, ipe_E, iml_req1) 279 279 CALL mpprecv( 11, zewbergs(2), 1, ipe_E ) 280 IF( l_isend )CALL mpi_wait( iml_req1, iml_stat, iml_err )280 CALL mpi_wait( iml_req1, iml_stat, iml_err ) 281 281 ibergs_rcvd_from_e = INT( zewbergs(2) ) 282 282 CASE( 0 ) … … 287 287 CALL mpprecv( 11, zewbergs(2), 1, ipe_E ) 288 288 CALL mpprecv( 12, zwebergs(2), 1, ipe_W ) 289 IF( l_isend )CALL mpi_wait( iml_req2, iml_stat, iml_err )290 IF( l_isend )CALL mpi_wait( iml_req3, iml_stat, iml_err )289 CALL mpi_wait( iml_req2, iml_stat, iml_err ) 290 CALL mpi_wait( iml_req3, iml_stat, iml_err ) 291 291 ibergs_rcvd_from_e = INT( zewbergs(2) ) 292 292 ibergs_rcvd_from_w = INT( zwebergs(2) ) … … 295 295 CALL mppsend( 11, zewbergs(1), 1, ipe_W, iml_req4) 296 296 CALL mpprecv( 12, zwebergs(2), 1, ipe_W ) 297 IF( l_isend )CALL mpi_wait( iml_req4, iml_stat, iml_err )297 CALL mpi_wait( iml_req4, iml_stat, iml_err ) 298 298 ibergs_rcvd_from_w = INT( zwebergs(2) ) 299 299 END SELECT … … 310 310 CALL mpprecv( 13, ibuffer_e%data, ibergs_rcvd_from_e*jp_buffer_width ) 311 311 ENDIF 312 IF( ibergs_to_send_e > 0 .AND. l_isend) CALL mpi_wait( iml_req1, iml_stat, iml_err )312 IF( ibergs_to_send_e > 0 ) CALL mpi_wait( iml_req1, iml_stat, iml_err ) 313 313 DO i = 1, ibergs_rcvd_from_e 314 314 IF( nn_verbose_level >= 4 ) THEN … … 329 329 CALL mpprecv( 14, ibuffer_w%data, ibergs_rcvd_from_w*jp_buffer_width ) 330 330 ENDIF 331 IF( ibergs_to_send_w > 0 .AND. l_isend) CALL mpi_wait( iml_req2, iml_stat, iml_err )332 IF( ibergs_to_send_e > 0 .AND. l_isend) CALL mpi_wait( iml_req3, iml_stat, iml_err )331 IF( ibergs_to_send_w > 0 ) CALL mpi_wait( iml_req2, iml_stat, iml_err ) 332 IF( ibergs_to_send_e > 0 ) CALL mpi_wait( iml_req3, iml_stat, iml_err ) 333 333 DO i = 1, ibergs_rcvd_from_e 334 334 IF( nn_verbose_level >= 4 ) THEN … … 351 351 CALL mpprecv( 14, ibuffer_w%data, ibergs_rcvd_from_w*jp_buffer_width ) 352 352 ENDIF 353 IF( ibergs_to_send_w > 0 .AND. l_isend) CALL mpi_wait( iml_req4, iml_stat, iml_err )353 IF( ibergs_to_send_w > 0 ) CALL mpi_wait( iml_req4, iml_stat, iml_err ) 354 354 DO i = 1, ibergs_rcvd_from_w 355 355 IF( nn_verbose_level >= 4 ) THEN … … 409 409 CALL mppsend( 16, zsnbergs(1), 1, ipe_N, iml_req1) 410 410 CALL mpprecv( 15, znsbergs(2), 1, ipe_N ) 411 IF( l_isend )CALL mpi_wait( iml_req1, iml_stat, iml_err )411 CALL mpi_wait( iml_req1, iml_stat, iml_err ) 412 412 ibergs_rcvd_from_n = INT( znsbergs(2) ) 413 413 CASE( 0 ) … … 418 418 CALL mpprecv( 15, znsbergs(2), 1, ipe_N ) 419 419 CALL mpprecv( 16, zsnbergs(2), 1, ipe_S ) 420 IF( l_isend )CALL mpi_wait( iml_req2, iml_stat, iml_err )421 IF( l_isend )CALL mpi_wait( iml_req3, iml_stat, iml_err )420 CALL mpi_wait( iml_req2, iml_stat, iml_err ) 421 CALL mpi_wait( iml_req3, iml_stat, iml_err ) 422 422 ibergs_rcvd_from_n = INT( znsbergs(2) ) 423 423 ibergs_rcvd_from_s = INT( zsnbergs(2) ) … … 426 426 CALL mppsend( 15, znsbergs(1), 1, ipe_S, iml_req4) 427 427 CALL mpprecv( 16, zsnbergs(2), 1, ipe_S ) 428 IF( l_isend )CALL mpi_wait( iml_req4, iml_stat, iml_err )428 CALL mpi_wait( iml_req4, iml_stat, iml_err ) 429 429 ibergs_rcvd_from_s = INT( zsnbergs(2) ) 430 430 END SELECT … … 441 441 CALL mpprecv( 17, ibuffer_n%data, ibergs_rcvd_from_n*jp_buffer_width ) 442 442 ENDIF 443 IF( ibergs_to_send_n > 0 .AND. l_isend) CALL mpi_wait( iml_req1, iml_stat, iml_err )443 IF( ibergs_to_send_n > 0 ) CALL mpi_wait( iml_req1, iml_stat, iml_err ) 444 444 DO i = 1, ibergs_rcvd_from_n 445 445 IF( nn_verbose_level >= 4 ) THEN … … 460 460 CALL mpprecv( 18, ibuffer_s%data, ibergs_rcvd_from_s*jp_buffer_width ) 461 461 ENDIF 462 IF( ibergs_to_send_s > 0 .AND. l_isend) CALL mpi_wait( iml_req2, iml_stat, iml_err )463 IF( ibergs_to_send_n > 0 .AND. l_isend) CALL mpi_wait( iml_req3, iml_stat, iml_err )462 IF( ibergs_to_send_s > 0 ) CALL mpi_wait( iml_req2, iml_stat, iml_err ) 463 IF( ibergs_to_send_n > 0 ) CALL mpi_wait( iml_req3, iml_stat, iml_err ) 464 464 DO i = 1, ibergs_rcvd_from_n 465 465 IF( nn_verbose_level >= 4 ) THEN … … 482 482 CALL mpprecv( 18, ibuffer_s%data, ibergs_rcvd_from_s*jp_buffer_width ) 483 483 ENDIF 484 IF( ibergs_to_send_s > 0 .AND. l_isend) CALL mpi_wait( iml_req4, iml_stat, iml_err )484 IF( ibergs_to_send_s > 0 ) CALL mpi_wait( iml_req4, iml_stat, iml_err ) 485 485 DO i = 1, ibergs_rcvd_from_s 486 486 IF( nn_verbose_level >= 4 ) THEN … … 669 669 ifldproc = nicbfldproc(jn) 670 670 IF( ifldproc == narea ) CYCLE 671 672 IF( l_isend ) CALL mpi_wait( nicbfldreq(jn), iml_stat, iml_err ) 671 CALL mpi_wait( nicbfldreq(jn), iml_stat, iml_err ) 673 672 ENDIF 674 673 ! … … 770 769 ifldproc = nicbfldproc(jn) 771 770 IF( ifldproc == narea ) CYCLE 772 773 IF( l_isend ) CALL mpi_wait( nicbfldreq(jn), iml_stat, iml_err ) 771 CALL mpi_wait( nicbfldreq(jn), iml_stat, iml_err ) 774 772 ENDIF 775 773 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/IOM/in_out_manager.F90
r10817 r11317 167 167 CHARACTER(lc) :: ctmp7, ctmp8, ctmp9 !: temporary characters 7 to 9 168 168 CHARACTER(lc) :: ctmp10 !: temporary character 10 169 CHARACTER(lc) :: cform_err = "(/,' ===>>> : E R R O R', /,' ===========',/)" !:170 CHARACTER(lc) :: cform_war = "(/,' ===>>> : W A R N I N G', /,' ===============',/)" !:171 169 LOGICAL :: lwm = .FALSE. !: boolean : true on the 1st processor only (always) 172 170 LOGICAL :: lwp = .FALSE. !: boolean : true on the 1st processor only .OR. ln_ctl -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/LBC/lbc_nfd_nogather_generic.h90
r10425 r11317 74 74 ! 75 75 ! Security check for further developments 76 IF ( ipf > 1 ) THEN 77 write(6,*) 'lbc_nfd_nogather: multiple fields not allowed. Revise implementation' 78 write(6,*) 'You should not be there...' 79 STOP 80 ENDIF 76 IF ( ipf > 1 ) CALL ctl_stop( 'STOP', 'lbc_nfd_nogather: multiple fields not allowed. Revise implementation...' ) 81 77 ! 82 78 ijpj = 1 ! index of first modified line -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/LBC/lbclnk.F90
r11195 r11317 410 410 CALL mppsend( 2, r2dwe(1-kextj,1,1), imigr, noea, ml_req1 ) 411 411 CALL mpprecv( 1, r2dew(1-kextj,1,2), imigr, noea ) 412 IF(l_isend)CALL mpi_wait(ml_req1,ml_stat,ml_err)412 CALL mpi_wait(ml_req1,ml_stat,ml_err) 413 413 CASE ( 0 ) 414 414 CALL mppsend( 1, r2dew(1-kextj,1,1), imigr, nowe, ml_req1 ) … … 416 416 CALL mpprecv( 1, r2dew(1-kextj,1,2), imigr, noea ) 417 417 CALL mpprecv( 2, r2dwe(1-kextj,1,2), imigr, nowe ) 418 IF(l_isend)CALL mpi_wait(ml_req1,ml_stat,ml_err)419 IF(l_isend)CALL mpi_wait(ml_req2,ml_stat,ml_err)418 CALL mpi_wait(ml_req1,ml_stat,ml_err) 419 CALL mpi_wait(ml_req2,ml_stat,ml_err) 420 420 CASE ( 1 ) 421 421 CALL mppsend( 1, r2dew(1-kextj,1,1), imigr, nowe, ml_req1 ) 422 422 CALL mpprecv( 2, r2dwe(1-kextj,1,2), imigr, nowe ) 423 IF(l_isend)CALL mpi_wait(ml_req1,ml_stat,ml_err)423 CALL mpi_wait(ml_req1,ml_stat,ml_err) 424 424 END SELECT 425 425 ! … … 467 467 CALL mppsend( 4, r2dsn(1-kexti,1,1), imigr, nono, ml_req1 ) 468 468 CALL mpprecv( 3, r2dns(1-kexti,1,2), imigr, nono ) 469 IF(l_isend)CALL mpi_wait(ml_req1,ml_stat,ml_err)469 CALL mpi_wait(ml_req1,ml_stat,ml_err) 470 470 CASE ( 0 ) 471 471 CALL mppsend( 3, r2dns(1-kexti,1,1), imigr, noso, ml_req1 ) … … 473 473 CALL mpprecv( 3, r2dns(1-kexti,1,2), imigr, nono ) 474 474 CALL mpprecv( 4, r2dsn(1-kexti,1,2), imigr, noso ) 475 IF(l_isend)CALL mpi_wait(ml_req1,ml_stat,ml_err)476 IF(l_isend)CALL mpi_wait(ml_req2,ml_stat,ml_err)475 CALL mpi_wait(ml_req1,ml_stat,ml_err) 476 CALL mpi_wait(ml_req2,ml_stat,ml_err) 477 477 CASE ( 1 ) 478 478 CALL mppsend( 3, r2dns(1-kexti,1,1), imigr, noso, ml_req1 ) 479 479 CALL mpprecv( 4, r2dsn(1-kexti,1,2), imigr, noso ) 480 IF(l_isend)CALL mpi_wait(ml_req1,ml_stat,ml_err)480 CALL mpi_wait(ml_req1,ml_stat,ml_err) 481 481 END SELECT 482 482 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/LBC/lbcnfd.F90
r10425 r11317 20 20 USE dom_oce ! ocean space and time domain 21 21 USE in_out_manager ! I/O manager 22 USE lib_mpp ! MPP library 22 23 23 24 IMPLICIT NONE -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/LBC/lib_mpp.F90
r11194 r11317 32 32 !! ctl_opn : Open file and check if required file is available. 33 33 !! ctl_nam : Prints informations when an error occurs while reading a namelist 34 !! get_unit : give the index of an unused logical unit 35 !!---------------------------------------------------------------------- 36 !!---------------------------------------------------------------------- 37 !! mynode : indentify the processor unit 34 !!---------------------------------------------------------------------- 35 !!---------------------------------------------------------------------- 36 !! mpp_start : get local communicator its size and rank 38 37 !! mpp_lnk : interface (defined in lbclnk) for message passing of 2d or 3d arrays (mpp_lnk_2d, mpp_lnk_3d) 39 38 !! mpp_lnk_icb : interface for message passing of 2d arrays with extra halo for icebergs (mpp_lnk_2d_icb) … … 58 57 PRIVATE 59 58 ! 60 PUBLIC ctl_stop, ctl_warn, get_unit,ctl_opn, ctl_nam61 PUBLIC m ynode, mppstop, mppsync, mpp_comm_free59 PUBLIC ctl_stop, ctl_warn, ctl_opn, ctl_nam 60 PUBLIC mpp_start, mppstop, mppsync, mpp_comm_free 62 61 PUBLIC mpp_ini_north 63 62 PUBLIC mpp_min, mpp_max, mpp_sum, mpp_minloc, mpp_maxloc … … 131 130 INTEGER, PUBLIC, DIMENSION(:), ALLOCATABLE, SAVE :: nrank_north !: dimension ndim_rank_north 132 131 133 ! Type of send : standard, buffered, immediate134 CHARACTER(len=1), PUBLIC :: cn_mpi_send !: type od mpi send/recieve (S=standard, B=bsend, I=isend)135 LOGICAL , PUBLIC :: l_isend = .FALSE. !: isend use indicator (T if cn_mpi_send='I')136 INTEGER , PUBLIC :: nn_buffer !: size of the buffer in case of mpi_bsend137 138 132 ! Communications summary report 139 133 CHARACTER(len=128), DIMENSION(:), ALLOCATABLE :: crname_lbc !: names of lbc_lnk calling routines … … 180 174 CONTAINS 181 175 182 FUNCTION mynode( ldtxt, ldname, kumnam_ref, kumnam_cfg, kumond, kstop, localComm ) 183 !!---------------------------------------------------------------------- 184 !! *** routine mynode *** 185 !! 186 !! ** Purpose : Find processor unit 187 !!---------------------------------------------------------------------- 188 CHARACTER(len=*),DIMENSION(:), INTENT( out) :: ldtxt ! 189 CHARACTER(len=*) , INTENT(in ) :: ldname ! 190 INTEGER , INTENT(in ) :: kumnam_ref ! logical unit for reference namelist 191 INTEGER , INTENT(in ) :: kumnam_cfg ! logical unit for configuration namelist 192 INTEGER , INTENT(inout) :: kumond ! logical unit for namelist output 193 INTEGER , INTENT(inout) :: kstop ! stop indicator 176 SUBROUTINE mpp_start( localComm ) 177 !!---------------------------------------------------------------------- 178 !! *** routine mpp_start *** 179 !! 180 !! ** Purpose : get mpi_comm_oce, mpprank and mppsize 181 !!---------------------------------------------------------------------- 194 182 INTEGER , OPTIONAL , INTENT(in ) :: localComm ! 195 183 ! 196 INTEGER :: mynode, ierr, code, ji, ii, ios 197 LOGICAL :: mpi_was_called 198 ! 199 NAMELIST/nammpp/ cn_mpi_send, nn_buffer, jpni, jpnj, ln_nnogather 200 !!---------------------------------------------------------------------- 201 #if defined key_mpp_mpi 202 ! 203 ii = 1 204 WRITE(ldtxt(ii),*) ; ii = ii + 1 205 WRITE(ldtxt(ii),*) 'mynode : mpi initialisation' ; ii = ii + 1 206 WRITE(ldtxt(ii),*) '~~~~~~ ' ; ii = ii + 1 207 ! 208 REWIND( kumnam_ref ) ! Namelist nammpp in reference namelist: mpi variables 209 READ ( kumnam_ref, nammpp, IOSTAT = ios, ERR = 901) 210 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nammpp in reference namelist', lwp ) 211 ! 212 REWIND( kumnam_cfg ) ! Namelist nammpp in configuration namelist: mpi variables 213 READ ( kumnam_cfg, nammpp, IOSTAT = ios, ERR = 902 ) 214 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nammpp in configuration namelist', lwp ) 215 ! 216 ! ! control print 217 WRITE(ldtxt(ii),*) ' Namelist nammpp' ; ii = ii + 1 218 WRITE(ldtxt(ii),*) ' mpi send type cn_mpi_send = ', cn_mpi_send ; ii = ii + 1 219 WRITE(ldtxt(ii),*) ' size exported buffer nn_buffer = ', nn_buffer,' bytes'; ii = ii + 1 220 ! 221 IF( jpni < 1 .OR. jpnj < 1 ) THEN 222 WRITE(ldtxt(ii),*) ' jpni and jpnj will be calculated automatically' ; ii = ii + 1 223 ELSE 224 WRITE(ldtxt(ii),*) ' processor grid extent in i jpni = ',jpni ; ii = ii + 1 225 WRITE(ldtxt(ii),*) ' processor grid extent in j jpnj = ',jpnj ; ii = ii + 1 226 ENDIF 227 228 WRITE(ldtxt(ii),*) ' avoid use of mpi_allgather at the north fold ln_nnogather = ', ln_nnogather ; ii = ii + 1 229 230 CALL mpi_initialized ( mpi_was_called, code ) 231 IF( code /= MPI_SUCCESS ) THEN 232 DO ji = 1, SIZE(ldtxt) 233 IF( TRIM(ldtxt(ji)) /= '' ) WRITE(*,*) ldtxt(ji) ! control print of mynode 234 END DO 235 WRITE(*, cform_err) 236 WRITE(*, *) 'lib_mpp: Error in routine mpi_initialized' 237 CALL mpi_abort( mpi_comm_world, code, ierr ) 238 ENDIF 239 240 IF( mpi_was_called ) THEN 241 ! 242 SELECT CASE ( cn_mpi_send ) 243 CASE ( 'S' ) ! Standard mpi send (blocking) 244 WRITE(ldtxt(ii),*) ' Standard blocking mpi send (send)' ; ii = ii + 1 245 CASE ( 'B' ) ! Buffer mpi send (blocking) 246 WRITE(ldtxt(ii),*) ' Buffer blocking mpi send (bsend)' ; ii = ii + 1 247 IF( Agrif_Root() ) CALL mpi_init_oce( ldtxt, ii, ierr ) 248 CASE ( 'I' ) ! Immediate mpi send (non-blocking send) 249 WRITE(ldtxt(ii),*) ' Immediate non-blocking send (isend)' ; ii = ii + 1 250 l_isend = .TRUE. 251 CASE DEFAULT 252 WRITE(ldtxt(ii),cform_err) ; ii = ii + 1 253 WRITE(ldtxt(ii),*) ' bad value for cn_mpi_send = ', cn_mpi_send ; ii = ii + 1 254 kstop = kstop + 1 255 END SELECT 256 ! 257 ELSEIF ( PRESENT(localComm) .AND. .NOT. mpi_was_called ) THEN 258 WRITE(ldtxt(ii),cform_err) ; ii = ii + 1 259 WRITE(ldtxt(ii),*) ' lib_mpp: You cannot provide a local communicator ' ; ii = ii + 1 260 WRITE(ldtxt(ii),*) ' without calling MPI_Init before ! ' ; ii = ii + 1 261 kstop = kstop + 1 262 ELSE 263 SELECT CASE ( cn_mpi_send ) 264 CASE ( 'S' ) ! Standard mpi send (blocking) 265 WRITE(ldtxt(ii),*) ' Standard blocking mpi send (send)' ; ii = ii + 1 266 CALL mpi_init( ierr ) 267 CASE ( 'B' ) ! Buffer mpi send (blocking) 268 WRITE(ldtxt(ii),*) ' Buffer blocking mpi send (bsend)' ; ii = ii + 1 269 IF( Agrif_Root() ) CALL mpi_init_oce( ldtxt, ii, ierr ) 270 CASE ( 'I' ) ! Immediate mpi send (non-blocking send) 271 WRITE(ldtxt(ii),*) ' Immediate non-blocking send (isend)' ; ii = ii + 1 272 l_isend = .TRUE. 273 CALL mpi_init( ierr ) 274 CASE DEFAULT 275 WRITE(ldtxt(ii),cform_err) ; ii = ii + 1 276 WRITE(ldtxt(ii),*) ' bad value for cn_mpi_send = ', cn_mpi_send ; ii = ii + 1 277 kstop = kstop + 1 278 END SELECT 279 ! 280 ENDIF 281 184 INTEGER :: ierr 185 LOGICAL :: llmpi_init 186 !!---------------------------------------------------------------------- 187 #if defined key_mpp_mpi 188 ! 189 CALL mpi_initialized ( llmpi_init, ierr ) 190 IF( ierr /= MPI_SUCCESS ) CALL ctl_stop( 'STOP', ' lib_mpp: Error in routine mpi_initialized' ) 191 192 IF( .NOT. llmpi_init ) THEN 193 IF( PRESENT(localComm) ) THEN 194 WRITE(ctmp1,*) ' lib_mpp: You cannot provide a local communicator ' 195 WRITE(ctmp2,*) ' without calling MPI_Init before ! ' 196 CALL ctl_stop( 'STOP', ctmp1, ctmp2 ) 197 ENDIF 198 CALL mpi_init( ierr ) 199 IF( ierr /= MPI_SUCCESS ) CALL ctl_stop( 'STOP', ' lib_mpp: Error in routine mpi_init' ) 200 ENDIF 201 282 202 IF( PRESENT(localComm) ) THEN 283 203 IF( Agrif_Root() ) THEN … … 285 205 ENDIF 286 206 ELSE 287 CALL mpi_comm_dup( mpi_comm_world, mpi_comm_oce, code) 288 IF( code /= MPI_SUCCESS ) THEN 289 DO ji = 1, SIZE(ldtxt) 290 IF( TRIM(ldtxt(ji)) /= '' ) WRITE(*,*) ldtxt(ji) ! control print of mynode 291 END DO 292 WRITE(*, cform_err) 293 WRITE(*, *) ' lib_mpp: Error in routine mpi_comm_dup' 294 CALL mpi_abort( mpi_comm_world, code, ierr ) 295 ENDIF 207 CALL mpi_comm_dup( mpi_comm_world, mpi_comm_oce, ierr) 208 IF( ierr /= MPI_SUCCESS ) CALL ctl_stop( 'STOP', ' lib_mpp: Error in routine mpi_comm_dup' ) 296 209 ENDIF 297 210 … … 306 219 CALL mpi_comm_rank( mpi_comm_oce, mpprank, ierr ) 307 220 CALL mpi_comm_size( mpi_comm_oce, mppsize, ierr ) 308 mynode = mpprank309 310 IF( mynode == 0 ) THEN311 CALL ctl_opn( kumond, TRIM(ldname), 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE. , 1 )312 WRITE(kumond, nammpp)313 ENDIF314 221 ! 315 222 CALL MPI_OP_CREATE(DDPDD_MPI, .TRUE., MPI_SUMDD, ierr) … … 317 224 #else 318 225 IF( PRESENT( localComm ) ) mpi_comm_oce = localComm 319 m ynode = 0320 CALL ctl_opn( kumond, TRIM(ldname), 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE. , 1 )321 #endif 322 END FUNCTION mynode226 mppsize = 1 227 mpprank = 0 228 #endif 229 END SUBROUTINE mpp_start 323 230 324 231 … … 340 247 ! 341 248 #if defined key_mpp_mpi 342 SELECT CASE ( cn_mpi_send ) 343 CASE ( 'S' ) ! Standard mpi send (blocking) 344 CALL mpi_send ( pmess, kbytes, mpi_double_precision, kdest , ktyp, mpi_comm_oce , iflag ) 345 CASE ( 'B' ) ! Buffer mpi send (blocking) 346 CALL mpi_bsend( pmess, kbytes, mpi_double_precision, kdest , ktyp, mpi_comm_oce , iflag ) 347 CASE ( 'I' ) ! Immediate mpi send (non-blocking send) 348 ! be carefull, one more argument here : the mpi request identifier.. 349 CALL mpi_isend( pmess, kbytes, mpi_double_precision, kdest , ktyp, mpi_comm_oce, md_req, iflag ) 350 END SELECT 249 CALL mpi_isend( pmess, kbytes, mpi_double_precision, kdest , ktyp, mpi_comm_oce, md_req, iflag ) 351 250 #endif 352 251 ! … … 836 735 ! 837 736 ALLOCATE( kwork(jpnij), STAT=ierr ) 838 IF( ierr /= 0 ) THEN 839 WRITE(kumout, cform_err) 840 WRITE(kumout,*) 'mpp_ini_znl : failed to allocate 1D array of length jpnij' 841 CALL mppstop 842 ENDIF 737 IF( ierr /= 0 ) CALL ctl_stop( 'STOP', 'mpp_ini_znl : failed to allocate 1D array of length jpnij') 843 738 844 739 IF( jpnj == 1 ) THEN … … 968 863 #endif 969 864 END SUBROUTINE mpp_ini_north 970 971 972 SUBROUTINE mpi_init_oce( ldtxt, ksft, code )973 !!---------------------------------------------------------------------974 !! *** routine mpp_init.opa ***975 !!976 !! ** Purpose :: export and attach a MPI buffer for bsend977 !!978 !! ** Method :: define buffer size in namelist, if 0 no buffer attachment979 !! but classical mpi_init980 !!981 !! History :: 01/11 :: IDRIS initial version for IBM only982 !! 08/04 :: R. Benshila, generalisation983 !!---------------------------------------------------------------------984 CHARACTER(len=*),DIMENSION(:), INTENT( out) :: ldtxt985 INTEGER , INTENT(inout) :: ksft986 INTEGER , INTENT( out) :: code987 INTEGER :: ierr, ji988 LOGICAL :: mpi_was_called989 !!---------------------------------------------------------------------990 #if defined key_mpp_mpi991 !992 CALL mpi_initialized( mpi_was_called, code ) ! MPI initialization993 IF ( code /= MPI_SUCCESS ) THEN994 DO ji = 1, SIZE(ldtxt)995 IF( TRIM(ldtxt(ji)) /= '' ) WRITE(*,*) ldtxt(ji) ! control print of mynode996 END DO997 WRITE(*, cform_err)998 WRITE(*, *) ' lib_mpp: Error in routine mpi_initialized'999 CALL mpi_abort( mpi_comm_world, code, ierr )1000 ENDIF1001 !1002 IF( .NOT. mpi_was_called ) THEN1003 CALL mpi_init( code )1004 CALL mpi_comm_dup( mpi_comm_world, mpi_comm_oce, code )1005 IF ( code /= MPI_SUCCESS ) THEN1006 DO ji = 1, SIZE(ldtxt)1007 IF( TRIM(ldtxt(ji)) /= '' ) WRITE(*,*) ldtxt(ji) ! control print of mynode1008 END DO1009 WRITE(*, cform_err)1010 WRITE(*, *) ' lib_mpp: Error in routine mpi_comm_dup'1011 CALL mpi_abort( mpi_comm_world, code, ierr )1012 ENDIF1013 ENDIF1014 !1015 IF( nn_buffer > 0 ) THEN1016 WRITE(ldtxt(ksft),*) 'mpi_bsend, buffer allocation of : ', nn_buffer ; ksft = ksft + 11017 ! Buffer allocation and attachment1018 ALLOCATE( tampon(nn_buffer), stat = ierr )1019 IF( ierr /= 0 ) THEN1020 DO ji = 1, SIZE(ldtxt)1021 IF( TRIM(ldtxt(ji)) /= '' ) WRITE(*,*) ldtxt(ji) ! control print of mynode1022 END DO1023 WRITE(*, cform_err)1024 WRITE(*, *) ' lib_mpp: Error in ALLOCATE', ierr1025 CALL mpi_abort( mpi_comm_world, code, ierr )1026 END IF1027 CALL mpi_buffer_attach( tampon, nn_buffer, code )1028 ENDIF1029 !1030 #endif1031 END SUBROUTINE mpi_init_oce1032 865 1033 866 … … 1240 1073 !! increment the error number (nstop) by one. 1241 1074 !!---------------------------------------------------------------------- 1242 CHARACTER(len=*), INTENT(in), OPTIONAL :: cd1, cd2, cd3, cd4, cd5 1243 CHARACTER(len=*), INTENT(in), OPTIONAL :: cd6, cd7, cd8, cd9, cd10 1075 CHARACTER(len=*), INTENT(in ) :: cd1 1076 CHARACTER(len=*), INTENT(in ), OPTIONAL :: cd2, cd3, cd4, cd5 1077 CHARACTER(len=*), INTENT(in ), OPTIONAL :: cd6, cd7, cd8, cd9, cd10 1244 1078 !!---------------------------------------------------------------------- 1245 1079 ! 1246 1080 nstop = nstop + 1 1247 1248 ! force to open ocean.output file 1081 ! 1082 ! force to open ocean.output file if not already opened 1249 1083 IF( numout == 6 ) CALL ctl_opn( numout, 'ocean.output', 'APPEND', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE. ) 1250 1251 WRITE(numout,cform_err) 1252 IF( PRESENT(cd1 ) ) WRITE(numout,*) TRIM(cd1) 1084 ! 1085 WRITE(numout,*) 1086 WRITE(numout,*) ' ===>>> : E R R O R' 1087 WRITE(numout,*) 1088 WRITE(numout,*) ' ===========' 1089 WRITE(numout,*) 1090 WRITE(numout,*) TRIM(cd1) 1253 1091 IF( PRESENT(cd2 ) ) WRITE(numout,*) TRIM(cd2) 1254 1092 IF( PRESENT(cd3 ) ) WRITE(numout,*) TRIM(cd3) … … 1260 1098 IF( PRESENT(cd9 ) ) WRITE(numout,*) TRIM(cd9) 1261 1099 IF( PRESENT(cd10) ) WRITE(numout,*) TRIM(cd10) 1262 1100 WRITE(numout,*) 1101 ! 1263 1102 CALL FLUSH(numout ) 1264 1103 IF( numstp /= -1 ) CALL FLUSH(numstp ) … … 1267 1106 ! 1268 1107 IF( cd1 == 'STOP' ) THEN 1108 WRITE(numout,*) 1269 1109 WRITE(numout,*) 'huge E-R-R-O-R : immediate stop' 1270 CALL mppstop(ld_force_abort = .true.) 1110 WRITE(numout,*) 1111 CALL mppstop( ld_force_abort = .true. ) 1271 1112 ENDIF 1272 1113 ! … … 1287 1128 ! 1288 1129 nwarn = nwarn + 1 1130 ! 1289 1131 IF(lwp) THEN 1290 WRITE(numout,cform_war) 1291 IF( PRESENT(cd1 ) ) WRITE(numout,*) TRIM(cd1) 1292 IF( PRESENT(cd2 ) ) WRITE(numout,*) TRIM(cd2) 1293 IF( PRESENT(cd3 ) ) WRITE(numout,*) TRIM(cd3) 1294 IF( PRESENT(cd4 ) ) WRITE(numout,*) TRIM(cd4) 1295 IF( PRESENT(cd5 ) ) WRITE(numout,*) TRIM(cd5) 1296 IF( PRESENT(cd6 ) ) WRITE(numout,*) TRIM(cd6) 1297 IF( PRESENT(cd7 ) ) WRITE(numout,*) TRIM(cd7) 1298 IF( PRESENT(cd8 ) ) WRITE(numout,*) TRIM(cd8) 1299 IF( PRESENT(cd9 ) ) WRITE(numout,*) TRIM(cd9) 1300 IF( PRESENT(cd10) ) WRITE(numout,*) TRIM(cd10) 1132 WRITE(numout,*) 1133 WRITE(numout,*) ' ===>>> : W A R N I N G' 1134 WRITE(numout,*) 1135 WRITE(numout,*) ' ===============' 1136 WRITE(numout,*) 1137 IF( PRESENT(cd1 ) ) WRITE(numout,*) TRIM(cd1) 1138 IF( PRESENT(cd2 ) ) WRITE(numout,*) TRIM(cd2) 1139 IF( PRESENT(cd3 ) ) WRITE(numout,*) TRIM(cd3) 1140 IF( PRESENT(cd4 ) ) WRITE(numout,*) TRIM(cd4) 1141 IF( PRESENT(cd5 ) ) WRITE(numout,*) TRIM(cd5) 1142 IF( PRESENT(cd6 ) ) WRITE(numout,*) TRIM(cd6) 1143 IF( PRESENT(cd7 ) ) WRITE(numout,*) TRIM(cd7) 1144 IF( PRESENT(cd8 ) ) WRITE(numout,*) TRIM(cd8) 1145 IF( PRESENT(cd9 ) ) WRITE(numout,*) TRIM(cd9) 1146 IF( PRESENT(cd10) ) WRITE(numout,*) TRIM(cd10) 1147 WRITE(numout,*) 1301 1148 ENDIF 1302 1149 CALL FLUSH(numout) … … 1341 1188 IF( TRIM(cdfile) == '/dev/null' ) clfile = TRIM(cdfile) ! force the use of /dev/null 1342 1189 ! 1343 iost=0 1344 IF( cdacce(1:6) == 'DIRECT' ) THEN ! cdacce has always more than 6 characters 1190 IF( cdacce(1:6) == 'DIRECT' ) THEN ! cdacce has always more than 6 characters 1345 1191 OPEN( UNIT=knum, FILE=clfile, FORM=cdform, ACCESS=cdacce, STATUS=cdstat, RECL=klengh , ERR=100, IOSTAT=iost ) 1346 1192 ELSE IF( TRIM(cdstat) == 'APPEND' ) THEN ! cdstat can have less than 6 characters … … 1363 1209 100 CONTINUE 1364 1210 IF( iost /= 0 ) THEN 1365 IF(ldwp) THEN 1366 WRITE(kout,*) 1367 WRITE(kout,*) ' ===>>>> : bad opening file: ', TRIM(clfile) 1368 WRITE(kout,*) ' ======= === ' 1369 WRITE(kout,*) ' unit = ', knum 1370 WRITE(kout,*) ' status = ', cdstat 1371 WRITE(kout,*) ' form = ', cdform 1372 WRITE(kout,*) ' access = ', cdacce 1373 WRITE(kout,*) ' iostat = ', iost 1374 WRITE(kout,*) ' we stop. verify the file ' 1375 WRITE(kout,*) 1376 ELSE !!! Force writing to make sure we get the information - at least once - in this violent STOP!! 1377 WRITE(*,*) 1378 WRITE(*,*) ' ===>>>> : bad opening file: ', TRIM(clfile) 1379 WRITE(*,*) ' ======= === ' 1380 WRITE(*,*) ' unit = ', knum 1381 WRITE(*,*) ' status = ', cdstat 1382 WRITE(*,*) ' form = ', cdform 1383 WRITE(*,*) ' access = ', cdacce 1384 WRITE(*,*) ' iostat = ', iost 1385 WRITE(*,*) ' we stop. verify the file ' 1386 WRITE(*,*) 1387 ENDIF 1388 CALL FLUSH( kout ) 1389 STOP 'ctl_opn bad opening' 1211 WRITE(ctmp1,*) ' ===>>>> : bad opening file: ', TRIM(clfile) 1212 WRITE(ctmp2,*) ' ======= === ' 1213 WRITE(ctmp3,*) ' unit = ', knum 1214 WRITE(ctmp4,*) ' status = ', cdstat 1215 WRITE(ctmp5,*) ' form = ', cdform 1216 WRITE(ctmp6,*) ' access = ', cdacce 1217 WRITE(ctmp7,*) ' iostat = ', iost 1218 WRITE(ctmp8,*) ' we stop. verify the file ' 1219 CALL ctl_stop( 'STOP', ctmp1, ctmp2, ctmp3, ctmp4, ctmp5, ctmp6, ctmp7, ctmp8 ) 1390 1220 ENDIF 1391 1221 ! … … 1393 1223 1394 1224 1395 SUBROUTINE ctl_nam ( kios, cdnam , ldwp)1225 SUBROUTINE ctl_nam ( kios, cdnam ) 1396 1226 !!---------------------------------------------------------------------- 1397 1227 !! *** ROUTINE ctl_nam *** … … 1401 1231 !! ** Method : Fortan open 1402 1232 !!---------------------------------------------------------------------- 1403 INTEGER , INTENT(inout) :: kios ! IO status after reading the namelist1404 CHARACTER(len=*) , INTENT(in ) :: cdnam ! group name of namelist for which error occurs1405 CHARACTER(len=5) :: clios ! string to convert iostat in character for print1406 LOGICAL , INTENT(in ) :: ldwp ! boolean termfor print1233 INTEGER , INTENT(inout) :: kios ! IO status after reading the namelist 1234 CHARACTER(len=*) , INTENT(in ) :: cdnam ! group name of namelist for which error occurs 1235 ! 1236 CHARACTER(len=5) :: clios ! string to convert iostat in character for print 1407 1237 !!---------------------------------------------------------------------- 1408 1238 ! … … 1418 1248 ENDIF 1419 1249 kios = 0 1420 RETURN1421 1250 ! 1422 1251 END SUBROUTINE ctl_nam … … 1439 1268 END DO 1440 1269 IF( (get_unit == 999) .AND. llopn ) THEN 1441 CALL ctl_stop( 'get_unit: All logical units until 999 are used...' ) 1442 get_unit = -1 1270 CALL ctl_stop( 'STOP', 'get_unit: All logical units until 999 are used...' ) 1443 1271 ENDIF 1444 1272 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/LBC/mpp_nfd_generic.h90
r10440 r11317 76 76 ipf = F_SIZE(ptab) ! 5th - use in "multi" case (array of pointers) 77 77 ! 78 IF( l_north_nogather ) THEN !== ????==!78 IF( l_north_nogather ) THEN !== no allgather exchanges ==! 79 79 80 80 ALLOCATE(ipj_s(ipf)) … … 200 200 ENDIF 201 201 END DO 202 IF( l_isend ) THEN 203 DO jr = 1,nsndto 204 IF( nfipproc(isendto(jr),jpnj) /= narea-1 .AND. nfipproc(isendto(jr),jpnj) /= -1 ) THEN 205 CALL mpi_wait( ml_req_nf(jr), ml_stat, ml_err ) 206 ENDIF 207 END DO 208 ENDIF 202 DO jr = 1,nsndto 203 IF( nfipproc(isendto(jr),jpnj) /= narea-1 .AND. nfipproc(isendto(jr),jpnj) /= -1 ) THEN 204 CALL mpi_wait( ml_req_nf(jr), ml_stat, ml_err ) 205 ENDIF 206 END DO 209 207 ! 210 208 IF( ln_timing ) CALL tic_tac(.FALSE.) … … 213 211 ! 214 212 DO jf = 1, ipf 215 CALL lbc_nfd_nogather(ARRAY_IN(:,:,:,:,jf), ztabr(:,1:ipj_s(jf),:,:,jf), cd_nat LBC_ARG, psgn LBC_ARG ) 216 END DO 217 ! 218 DEALLOCATE( zfoldwk ) 219 DEALLOCATE( ztabr ) 220 DEALLOCATE( jj_s ) 221 DEALLOCATE( ipj_s ) 222 ELSE !== ???? ==! 213 CALL lbc_nfd_nogather( ARRAY_IN(:,:,:,:,jf), ztabr(:,1:ipj_s(jf),:,:,jf), cd_nat LBC_ARG, psgn LBC_ARG ) 214 END DO 215 ! 216 DEALLOCATE( zfoldwk, ztabr, jj_s, ipj_s ) 217 ! 218 ELSE !== allgather exchanges ==! 223 219 ! 224 220 ipj = 4 ! 2nd dimension of message transfers (last j-lines) -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/LBC/mppini.F90
r11263 r11317 168 168 & rn_ice_tem, rn_ice_sal, rn_ice_age, & 169 169 & ln_vol, nn_volctl, nn_rimwidth 170 !!---------------------------------------------------------------------- 171 170 NAMELIST/nammpp/ jpni, jpnj, ln_nnogather 171 !!---------------------------------------------------------------------- 172 ! 172 173 llwrtlay = lwp .OR. ln_ctl .OR. sn_cfctl%l_layout 174 ! 175 ! 0. read namelists parameters 176 ! ----------------------------------- 177 ! 178 REWIND( numnam_ref ) ! Namelist nammpp in reference namelist 179 READ ( numnam_ref, nammpp, IOSTAT = ios, ERR = 901 ) 180 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nammpp in reference namelist' ) 181 REWIND( numnam_cfg ) ! Namelist nammpp in confguration namelist 182 READ ( numnam_cfg, nammpp, IOSTAT = ios, ERR = 902 ) 183 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nammpp in configuration namelist' ) 184 ! 185 IF(lwp) THEN 186 WRITE(numout,*) ' Namelist nammpp' 187 IF( jpni < 1 .OR. jpnj < 1 ) THEN 188 WRITE(numout,*) ' jpni and jpnj will be calculated automatically' 189 ELSE 190 WRITE(numout,*) ' processor grid extent in i jpni = ', jpni 191 WRITE(numout,*) ' processor grid extent in j jpnj = ', jpnj 192 ENDIF 193 WRITE(numout,*) ' avoid use of mpi_allgather at the north fold ln_nnogather = ', ln_nnogather 194 ENDIF 195 ! 196 IF(lwm) WRITE( numond, nammpp ) 197 173 198 ! do we need to take into account bdy_msk? 174 199 REWIND( numnam_ref ) ! Namelist nambdy in reference namelist : BDY 175 200 READ ( numnam_ref, nambdy, IOSTAT = ios, ERR = 903) 176 903 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy in reference namelist (mppini)' , lwp)201 903 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy in reference namelist (mppini)' ) 177 202 REWIND( numnam_cfg ) ! Namelist nambdy in configuration namelist : BDY 178 203 READ ( numnam_cfg, nambdy, IOSTAT = ios, ERR = 904 ) 179 904 IF( ios > 0 ) CALL ctl_nam ( ios , 'nambdy in configuration namelist (mppini)' , lwp)204 904 IF( ios > 0 ) CALL ctl_nam ( ios , 'nambdy in configuration namelist (mppini)' ) 180 205 ! 181 206 IF( ln_read_cfg ) CALL iom_open( cn_domcfg, numbot ) -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/LDF/ldfdyn.F90
r10784 r11317 117 117 REWIND( numnam_ref ) ! Namelist namdyn_ldf in reference namelist : Lateral physics 118 118 READ ( numnam_ref, namdyn_ldf, IOSTAT = ios, ERR = 901) 119 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_ldf in reference namelist' , lwp)119 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_ldf in reference namelist' ) 120 120 121 121 REWIND( numnam_cfg ) ! Namelist namdyn_ldf in configuration namelist : Lateral physics 122 122 READ ( numnam_cfg, namdyn_ldf, IOSTAT = ios, ERR = 902 ) 123 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namdyn_ldf in configuration namelist' , lwp)123 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namdyn_ldf in configuration namelist' ) 124 124 IF(lwm) WRITE ( numond, namdyn_ldf ) 125 125 -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/LDF/ldftra.F90
r10425 r11317 154 154 REWIND( numnam_ref ) ! Namelist namtra_ldf in reference namelist : Lateral physics on tracers 155 155 READ ( numnam_ref, namtra_ldf, IOSTAT = ios, ERR = 901) 156 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_ldf in reference namelist' , lwp)156 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_ldf in reference namelist' ) 157 157 REWIND( numnam_cfg ) ! Namelist namtra_ldf in configuration namelist : Lateral physics on tracers 158 158 READ ( numnam_cfg, namtra_ldf, IOSTAT = ios, ERR = 902 ) 159 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtra_ldf in configuration namelist' , lwp)159 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtra_ldf in configuration namelist' ) 160 160 IF(lwm) WRITE( numond, namtra_ldf ) 161 161 ! … … 512 512 REWIND( numnam_ref ) ! Namelist namtra_eiv in reference namelist : eddy induced velocity param. 513 513 READ ( numnam_ref, namtra_eiv, IOSTAT = ios, ERR = 901) 514 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_eiv in reference namelist' , lwp)514 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_eiv in reference namelist' ) 515 515 ! 516 516 REWIND( numnam_cfg ) ! Namelist namtra_eiv in configuration namelist : eddy induced velocity param. 517 517 READ ( numnam_cfg, namtra_eiv, IOSTAT = ios, ERR = 902 ) 518 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtra_eiv in configuration namelist' , lwp)518 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtra_eiv in configuration namelist' ) 519 519 IF(lwm) WRITE ( numond, namtra_eiv ) 520 520 -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/OBS/diaobs.F90
r10068 r11317 203 203 REWIND( numnam_ref ) ! Namelist namobs in reference namelist 204 204 READ ( numnam_ref, namobs, IOSTAT = ios, ERR = 901) 205 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namobs in reference namelist' , lwp)205 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namobs in reference namelist' ) 206 206 REWIND( numnam_cfg ) ! Namelist namobs in configuration namelist 207 207 READ ( numnam_cfg, namobs, IOSTAT = ios, ERR = 902 ) 208 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namobs in configuration namelist' , lwp)208 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namobs in configuration namelist' ) 209 209 IF(lwm) WRITE ( numond, namobs ) 210 210 -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/SBC/sbcapr.F90
r11263 r11317 71 71 REWIND( numnam_ref ) ! Namelist namsbc_apr in reference namelist : File for atmospheric pressure forcing 72 72 READ ( numnam_ref, namsbc_apr, IOSTAT = ios, ERR = 901) 73 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_apr in reference namelist' , lwp)73 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_apr in reference namelist' ) 74 74 75 75 REWIND( numnam_cfg ) ! Namelist namsbc_apr in configuration namelist : File for atmospheric pressure forcing 76 76 READ ( numnam_cfg, namsbc_apr, IOSTAT = ios, ERR = 902 ) 77 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namsbc_apr in configuration namelist' , lwp)77 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namsbc_apr in configuration namelist' ) 78 78 IF(lwm) WRITE ( numond, namsbc_apr ) 79 79 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/SBC/sbcblk.F90
r11267 r11317 182 182 REWIND( numnam_ref ) !* Namelist namsbc_blk in reference namelist : bulk parameters 183 183 READ ( numnam_ref, namsbc_blk, IOSTAT = ios, ERR = 901) 184 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_blk in reference namelist' , lwp)184 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_blk in reference namelist' ) 185 185 ! 186 186 REWIND( numnam_cfg ) !* Namelist namsbc_blk in configuration namelist : bulk parameters 187 187 READ ( numnam_cfg, namsbc_blk, IOSTAT = ios, ERR = 902 ) 188 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namsbc_blk in configuration namelist' , lwp)188 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namsbc_blk in configuration namelist' ) 189 189 ! 190 190 IF(lwm) WRITE( numond, namsbc_blk ) -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/SBC/sbccpl.F90
r10617 r11317 266 266 REWIND( numnam_ref ) ! Namelist namsbc_cpl in reference namelist : Variables for OASIS coupling 267 267 READ ( numnam_ref, namsbc_cpl, IOSTAT = ios, ERR = 901) 268 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_cpl in reference namelist' , lwp)268 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_cpl in reference namelist' ) 269 269 ! 270 270 REWIND( numnam_cfg ) ! Namelist namsbc_cpl in configuration namelist : Variables for OASIS coupling 271 271 READ ( numnam_cfg, namsbc_cpl, IOSTAT = ios, ERR = 902 ) 272 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namsbc_cpl in configuration namelist' , lwp)272 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namsbc_cpl in configuration namelist' ) 273 273 IF(lwm) WRITE ( numond, namsbc_cpl ) 274 274 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/SBC/sbcflx.F90
r11267 r11317 93 93 REWIND( numnam_ref ) ! Namelist namsbc_flx in reference namelist : Files for fluxes 94 94 READ ( numnam_ref, namsbc_flx, IOSTAT = ios, ERR = 901) 95 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_flx in reference namelist' , lwp)95 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_flx in reference namelist' ) 96 96 97 97 REWIND( numnam_cfg ) ! Namelist namsbc_flx in configuration namelist : Files for fluxes 98 98 READ ( numnam_cfg, namsbc_flx, IOSTAT = ios, ERR = 902 ) 99 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namsbc_flx in configuration namelist' , lwp)99 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namsbc_flx in configuration namelist' ) 100 100 IF(lwm) WRITE ( numond, namsbc_flx ) 101 101 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/SBC/sbcice_cice.F90
r10425 r11317 764 764 REWIND( numnam_ref ) ! Namelist namsbc_cice in reference namelist : 765 765 READ ( numnam_ref, namsbc_cice, IOSTAT = ios, ERR = 901) 766 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_cice in reference namelist' , lwp)766 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_cice in reference namelist' ) 767 767 768 768 REWIND( numnam_cfg ) ! Namelist namsbc_cice in configuration namelist : Parameters of the run 769 769 READ ( numnam_cfg, namsbc_cice, IOSTAT = ios, ERR = 902 ) 770 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namsbc_cice in configuration namelist' , lwp)770 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namsbc_cice in configuration namelist' ) 771 771 IF(lwm) WRITE ( numond, namsbc_cice ) 772 772 -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/SBC/sbcice_if.F90
r10068 r11317 76 76 REWIND( numnam_ref ) ! Namelist namsbc_iif in reference namelist : Ice if file 77 77 READ ( numnam_ref, namsbc_iif, IOSTAT = ios, ERR = 901) 78 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_iif in reference namelist' , lwp)78 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_iif in reference namelist' ) 79 79 80 80 REWIND( numnam_cfg ) ! Namelist Namelist namsbc_iif in configuration namelist : Ice if file 81 81 READ ( numnam_cfg, namsbc_iif, IOSTAT = ios, ERR = 902 ) 82 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namsbc_iif in configuration namelist' , lwp)82 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namsbc_iif in configuration namelist' ) 83 83 IF(lwm) WRITE ( numond, namsbc_iif ) 84 84 -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/SBC/sbcisf.F90
r10536 r11317 278 278 REWIND( numnam_ref ) ! Namelist namsbc_rnf in reference namelist : Runoffs 279 279 READ ( numnam_ref, namsbc_isf, IOSTAT = ios, ERR = 901) 280 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_isf in reference namelist' , lwp)280 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_isf in reference namelist' ) 281 281 282 282 REWIND( numnam_cfg ) ! Namelist namsbc_rnf in configuration namelist : Runoffs 283 283 READ ( numnam_cfg, namsbc_isf, IOSTAT = ios, ERR = 902 ) 284 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namsbc_isf in configuration namelist' , lwp)284 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namsbc_isf in configuration namelist' ) 285 285 IF(lwm) WRITE ( numond, namsbc_isf ) 286 286 -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/SBC/sbcmod.F90
r10499 r11317 110 110 REWIND( numnam_ref ) !* Namelist namsbc in reference namelist : Surface boundary 111 111 READ ( numnam_ref, namsbc, IOSTAT = ios, ERR = 901) 112 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc in reference namelist' , lwp)112 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc in reference namelist' ) 113 113 REWIND( numnam_cfg ) !* Namelist namsbc in configuration namelist : Parameters of the run 114 114 READ ( numnam_cfg, namsbc, IOSTAT = ios, ERR = 902 ) 115 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namsbc in configuration namelist' , lwp)115 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namsbc in configuration namelist' ) 116 116 IF(lwm) WRITE( numond, namsbc ) 117 117 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/SBC/sbcrnf.F90
r10523 r11317 267 267 REWIND( numnam_ref ) ! Namelist namsbc_rnf in reference namelist : Runoffs 268 268 READ ( numnam_ref, namsbc_rnf, IOSTAT = ios, ERR = 901) 269 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_rnf in reference namelist' , lwp)269 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_rnf in reference namelist' ) 270 270 271 271 REWIND( numnam_cfg ) ! Namelist namsbc_rnf in configuration namelist : Runoffs 272 272 READ ( numnam_cfg, namsbc_rnf, IOSTAT = ios, ERR = 902 ) 273 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namsbc_rnf in configuration namelist' , lwp)273 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namsbc_rnf in configuration namelist' ) 274 274 IF(lwm) WRITE ( numond, namsbc_rnf ) 275 275 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/SBC/sbcssr.F90
r10068 r11317 166 166 REWIND( numnam_ref ) ! Namelist namsbc_ssr in reference namelist : 167 167 READ ( numnam_ref, namsbc_ssr, IOSTAT = ios, ERR = 901) 168 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_ssr in reference namelist' , lwp)168 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_ssr in reference namelist' ) 169 169 170 170 REWIND( numnam_cfg ) ! Namelist namsbc_ssr in configuration namelist : 171 171 READ ( numnam_cfg, namsbc_ssr, IOSTAT = ios, ERR = 902 ) 172 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namsbc_ssr in configuration namelist' , lwp)172 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namsbc_ssr in configuration namelist' ) 173 173 IF(lwm) WRITE ( numond, namsbc_ssr ) 174 174 -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/SBC/sbcwave.F90
r10425 r11317 397 397 REWIND( numnam_ref ) ! Namelist namsbc_wave in reference namelist : File for drag coeff. from wave model 398 398 READ ( numnam_ref, namsbc_wave, IOSTAT = ios, ERR = 901) 399 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_wave in reference namelist' , lwp)399 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_wave in reference namelist' ) 400 400 401 401 REWIND( numnam_cfg ) ! Namelist namsbc_wave in configuration namelist : File for drag coeff. from wave model 402 402 READ ( numnam_cfg, namsbc_wave, IOSTAT = ios, ERR = 902 ) 403 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namsbc_wave in configuration namelist' , lwp)403 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namsbc_wave in configuration namelist' ) 404 404 IF(lwm) WRITE ( numond, namsbc_wave ) 405 405 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/SBC/tideini.F90
r10068 r11317 60 60 REWIND( numnam_ref ) ! Namelist nam_tide in reference namelist : Tides 61 61 READ ( numnam_ref, nam_tide, IOSTAT = ios, ERR = 901) 62 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_tide in reference namelist' , lwp)62 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_tide in reference namelist' ) 63 63 ! 64 64 REWIND( numnam_cfg ) ! Namelist nam_tide in configuration namelist : Tides 65 65 READ ( numnam_cfg, nam_tide, IOSTAT = ios, ERR = 902 ) 66 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nam_tide in configuration namelist' , lwp)66 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nam_tide in configuration namelist' ) 67 67 IF(lwm) WRITE ( numond, nam_tide ) 68 68 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/STO/stopar.F90
r10425 r11317 263 263 REWIND( numnam_ref ) ! Namelist namdyn_adv in reference namelist : Momentum advection scheme 264 264 READ ( numnam_ref, namsto, IOSTAT = ios, ERR = 901) 265 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsto in reference namelist' , lwp)265 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsto in reference namelist' ) 266 266 267 267 REWIND( numnam_cfg ) ! Namelist namdyn_adv in configuration namelist : Momentum advection scheme 268 268 READ ( numnam_cfg, namsto, IOSTAT = ios, ERR = 902 ) 269 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namsto in configuration namelist' , lwp)269 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namsto in configuration namelist' ) 270 270 IF(lwm) WRITE ( numond, namsto ) 271 271 -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/TRA/eosbn2.F90
r10425 r11317 1235 1235 REWIND( numnam_ref ) ! Namelist nameos in reference namelist : equation of state 1236 1236 READ ( numnam_ref, nameos, IOSTAT = ios, ERR = 901 ) 1237 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nameos in reference namelist' , lwp)1237 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nameos in reference namelist' ) 1238 1238 ! 1239 1239 REWIND( numnam_cfg ) ! Namelist nameos in configuration namelist : equation of state 1240 1240 READ ( numnam_cfg, nameos, IOSTAT = ios, ERR = 902 ) 1241 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nameos in configuration namelist' , lwp)1241 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nameos in configuration namelist' ) 1242 1242 IF(lwm) WRITE( numond, nameos ) 1243 1243 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/TRA/traadv.F90
r10068 r11317 196 196 REWIND( numnam_ref ) ! Namelist namtra_adv in reference namelist : Tracer advection scheme 197 197 READ ( numnam_ref, namtra_adv, IOSTAT = ios, ERR = 901) 198 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_adv in reference namelist' , lwp)198 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_adv in reference namelist' ) 199 199 ! 200 200 REWIND( numnam_cfg ) ! Namelist namtra_adv in configuration namelist : Tracer advection scheme 201 201 READ ( numnam_cfg, namtra_adv, IOSTAT = ios, ERR = 902 ) 202 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtra_adv in configuration namelist' , lwp)202 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtra_adv in configuration namelist' ) 203 203 IF(lwm) WRITE( numond, namtra_adv ) 204 204 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/TRA/trabbc.F90
r10425 r11317 135 135 REWIND( numnam_ref ) ! Namelist nambbc in reference namelist : Bottom momentum boundary condition 136 136 READ ( numnam_ref, nambbc, IOSTAT = ios, ERR = 901) 137 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambbc in reference namelist' , lwp)137 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambbc in reference namelist' ) 138 138 ! 139 139 REWIND( numnam_cfg ) ! Namelist nambbc in configuration namelist : Bottom momentum boundary condition 140 140 READ ( numnam_cfg, nambbc, IOSTAT = ios, ERR = 902 ) 141 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nambbc in configuration namelist' , lwp)141 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nambbc in configuration namelist' ) 142 142 IF(lwm) WRITE ( numond, nambbc ) 143 143 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/TRA/trabbl.F90
r10425 r11317 485 485 REWIND( numnam_ref ) ! Namelist nambbl in reference namelist : Bottom boundary layer scheme 486 486 READ ( numnam_ref, nambbl, IOSTAT = ios, ERR = 901) 487 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambbl in reference namelist' , lwp)487 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambbl in reference namelist' ) 488 488 ! 489 489 REWIND( numnam_cfg ) ! Namelist nambbl in configuration namelist : Bottom boundary layer scheme 490 490 READ ( numnam_cfg, nambbl, IOSTAT = ios, ERR = 902 ) 491 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nambbl in configuration namelist' , lwp)491 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nambbl in configuration namelist' ) 492 492 IF(lwm) WRITE ( numond, nambbl ) 493 493 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/TRA/tradmp.F90
r10425 r11317 179 179 REWIND( numnam_ref ) ! Namelist namtra_dmp in reference namelist : T & S relaxation 180 180 READ ( numnam_ref, namtra_dmp, IOSTAT = ios, ERR = 901) 181 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_dmp in reference namelist' , lwp)181 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_dmp in reference namelist' ) 182 182 ! 183 183 REWIND( numnam_cfg ) ! Namelist namtra_dmp in configuration namelist : T & S relaxation 184 184 READ ( numnam_cfg, namtra_dmp, IOSTAT = ios, ERR = 902 ) 185 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtra_dmp in configuration namelist' , lwp)185 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtra_dmp in configuration namelist' ) 186 186 IF(lwm) WRITE ( numond, namtra_dmp ) 187 187 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/TRA/tramle.F90
r10425 r11317 268 268 REWIND( numnam_ref ) ! Namelist namtra_mle in reference namelist : Tracer advection scheme 269 269 READ ( numnam_ref, namtra_mle, IOSTAT = ios, ERR = 901) 270 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_mle in reference namelist' , lwp)270 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_mle in reference namelist' ) 271 271 272 272 REWIND( numnam_cfg ) ! Namelist namtra_mle in configuration namelist : Tracer advection scheme 273 273 READ ( numnam_cfg, namtra_mle, IOSTAT = ios, ERR = 902 ) 274 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtra_mle in configuration namelist' , lwp)274 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtra_mle in configuration namelist' ) 275 275 IF(lwm) WRITE ( numond, namtra_mle ) 276 276 -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/TRA/traqsr.F90
r10425 r11317 338 338 REWIND( numnam_ref ) ! Namelist namtra_qsr in reference namelist 339 339 READ ( numnam_ref, namtra_qsr, IOSTAT = ios, ERR = 901) 340 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_qsr in reference namelist' , lwp)340 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_qsr in reference namelist' ) 341 341 ! 342 342 REWIND( numnam_cfg ) ! Namelist namtra_qsr in configuration namelist 343 343 READ ( numnam_cfg, namtra_qsr, IOSTAT = ios, ERR = 902 ) 344 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtra_qsr in configuration namelist' , lwp)344 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtra_qsr in configuration namelist' ) 345 345 IF(lwm) WRITE ( numond, namtra_qsr ) 346 346 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/TRD/trdini.F90
r10068 r11317 48 48 REWIND( numnam_ref ) ! Namelist namtrd in reference namelist : trends diagnostic 49 49 READ ( numnam_ref, namtrd, IOSTAT = ios, ERR = 901 ) 50 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrd in reference namelist' , lwp)50 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrd in reference namelist' ) 51 51 ! 52 52 REWIND( numnam_cfg ) ! Namelist namtrd in configuration namelist : trends diagnostic 53 53 READ ( numnam_cfg, namtrd, IOSTAT = ios, ERR = 902 ) 54 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtrd in configuration namelist' , lwp)54 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtrd in configuration namelist' ) 55 55 IF(lwm) WRITE( numond, namtrd ) 56 56 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/TRD/trdmxl.F90
r10425 r11317 734 734 REWIND( numnam_ref ) ! Namelist namtrd_mxl in reference namelist : mixed layer trends diagnostic 735 735 READ ( numnam_ref, namtrd_mxl, IOSTAT = ios, ERR = 901 ) 736 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrd_mxl in reference namelist' , lwp)736 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrd_mxl in reference namelist' ) 737 737 738 738 REWIND( numnam_cfg ) ! Namelist namtrd_mxl in configuration namelist : mixed layer trends diagnostic 739 739 READ ( numnam_cfg, namtrd_mxl, IOSTAT = ios, ERR = 902 ) 740 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtrd_mxl in configuration namelist' , lwp)740 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtrd_mxl in configuration namelist' ) 741 741 IF(lwm) WRITE( numond, namtrd_mxl ) 742 742 ! … … 764 764 765 765 IF( MOD( nitend, nn_trd ) /= 0 ) THEN 766 WRITE(numout,cform_err) 767 WRITE(numout,*) ' Your nitend parameter, nitend = ', nitend 768 WRITE(numout,*) ' is no multiple of the trends diagnostics frequency ' 769 WRITE(numout,*) ' you defined, nn_trd = ', nn_trd 770 WRITE(numout,*) ' This will not allow you to restart from this simulation. ' 771 WRITE(numout,*) ' You should reconsider this choice. ' 772 WRITE(numout,*) 773 WRITE(numout,*) ' N.B. the nitend parameter is also constrained to be a ' 774 WRITE(numout,*) ' multiple of the nn_fsbc parameter ' 775 CALL ctl_stop( 'trd_mxl_init: see comment just above' ) 766 WRITE(ctmp1,*) ' Your nitend parameter, nitend = ', nitend 767 WRITE(ctmp2,*) ' is no multiple of the trends diagnostics frequency ' 768 WRITE(ctmp3,*) ' you defined, nn_trd = ', nn_trd 769 WRITE(ctmp4,*) ' This will not allow you to restart from this simulation. ' 770 WRITE(ctmp5,*) ' You should reconsider this choice. ' 771 WRITE(ctmp6,*) 772 WRITE(ctmp7,*) ' N.B. the nitend parameter is also constrained to be a ' 773 WRITE(ctmp8,*) ' multiple of the nn_fsbc parameter ' 774 CALL ctl_stop( ctmp1, ctmp2, ctmp3, ctmp4, ctmp5, ctmp6, ctmp7, ctmp8 ) 776 775 END IF 777 776 -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/USR/usrdef_nam.F90
r10069 r11317 37 37 CONTAINS 38 38 39 SUBROUTINE usr_def_nam( ldtxt, ldnam,cd_cfg, kk_cfg, kpi, kpj, kpk, kperio )39 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, kperio ) 40 40 !!---------------------------------------------------------------------- 41 41 !! *** ROUTINE dom_nam *** … … 49 49 !! ** input : - namusr_def namelist found in namelist_cfg 50 50 !!---------------------------------------------------------------------- 51 CHARACTER(len=*), DIMENSION(:), INTENT(out) :: ldtxt, ldnam ! stored print information 52 CHARACTER(len=*) , INTENT(out) :: cd_cfg ! configuration name 53 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution 54 INTEGER , INTENT(out) :: kpi, kpj, kpk ! global domain sizes 55 INTEGER , INTENT(out) :: kperio ! lateral global domain b.c. 51 CHARACTER(len=*), INTENT(out) :: cd_cfg ! configuration name 52 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution 53 INTEGER , INTENT(out) :: kpi, kpj, kpk ! global domain sizes 54 INTEGER , INTENT(out) :: kperio ! lateral global domain b.c. 56 55 ! 57 INTEGER :: ios , ii! Local integer56 INTEGER :: ios ! Local integer 58 57 !! 59 58 NAMELIST/namusr_def/ nn_GYRE, ln_bench, jpkglo 60 59 !!---------------------------------------------------------------------- 61 60 ! 62 ii = 163 !64 61 REWIND( numnam_cfg ) ! Namelist namusr_def (exist in namelist_cfg only) 65 62 READ ( numnam_cfg, namusr_def, IOSTAT = ios, ERR = 902 ) 66 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namusr_def in configuration namelist' , .TRUE.)63 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namusr_def in configuration namelist' ) 67 64 ! 68 WRITE( ldnam(:), namusr_def )65 WRITE( numond, namusr_def ) 69 66 ! 70 67 cd_cfg = 'GYRE' ! name & resolution (not used) … … 85 82 ! 86 83 ! ! control print 87 WRITE( ldtxt(ii),*) ' ' ; ii = ii + 188 WRITE( ldtxt(ii),*) 'usr_def_nam : read the user defined namelist (namusr_def) in namelist_cfg' ; ii = ii + 189 WRITE( ldtxt(ii),*) '~~~~~~~~~~~ ' ; ii = ii + 190 WRITE( ldtxt(ii),*) ' Namelist namusr_def : GYRE case' ; ii = ii + 191 WRITE( ldtxt(ii),*) ' GYRE used as Benchmark (=T) ln_bench = ', ln_bench ; ii = ii + 192 WRITE( ldtxt(ii),*) ' inverse resolution & implied domain size nn_GYRE = ', nn_GYRE ; ii = ii + 184 WRITE(numout,*) ' ' 85 WRITE(numout,*) 'usr_def_nam : read the user defined namelist (namusr_def) in namelist_cfg' 86 WRITE(numout,*) '~~~~~~~~~~~ ' 87 WRITE(numout,*) ' Namelist namusr_def : GYRE case' 88 WRITE(numout,*) ' GYRE used as Benchmark (=T) ln_bench = ', ln_bench 89 WRITE(numout,*) ' inverse resolution & implied domain size nn_GYRE = ', nn_GYRE 93 90 #if defined key_agrif 94 91 IF( Agrif_Root() ) THEN 95 92 #endif 96 WRITE( ldtxt(ii),*) ' jpiglo = 30*nn_GYRE+2 jpiglo = ', kpi ; ii = ii + 197 WRITE( ldtxt(ii),*) ' jpjglo = 20*nn_GYRE+2 jpjglo = ', kpj ; ii = ii + 193 WRITE(numout,*) ' jpiglo = 30*nn_GYRE+2 jpiglo = ', kpi 94 WRITE(numout,*) ' jpjglo = 20*nn_GYRE+2 jpjglo = ', kpj 98 95 #if defined key_agrif 99 96 ENDIF 100 97 #endif 101 WRITE( ldtxt(ii),*) ' number of model levels jpkglo = ', kpk ; ii = ii + 198 WRITE(numout,*) ' number of model levels jpkglo = ', kpk 102 99 ! 103 100 ! ! Set the lateral boundary condition of the global domain 104 101 kperio = 0 ! GYRE configuration : closed domain 105 102 ! 106 WRITE( ldtxt(ii),*) ' ' ; ii = ii + 1107 WRITE( ldtxt(ii),*) ' Lateral b.c. of the global domain set to closed jperio = ', kperio ; ii = ii + 1103 WRITE(numout,*) ' ' 104 WRITE(numout,*) ' Lateral b.c. of the global domain set to closed jperio = ', kperio 108 105 ! 109 106 END SUBROUTINE usr_def_nam -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/ZDF/zdfdrg.F90
r10069 r11317 238 238 REWIND( numnam_ref ) ! Namelist namdrg in reference namelist 239 239 READ ( numnam_ref, namdrg, IOSTAT = ios, ERR = 901) 240 901 IF( ios /= 0 ) CALL ctl_nam( ios , 'namdrg in reference namelist' , lwp)240 901 IF( ios /= 0 ) CALL ctl_nam( ios , 'namdrg in reference namelist' ) 241 241 REWIND( numnam_cfg ) ! Namelist namdrg in configuration namelist 242 242 READ ( numnam_cfg, namdrg, IOSTAT = ios, ERR = 902 ) 243 902 IF( ios > 0 ) CALL ctl_nam( ios , 'namdrg in configuration namelist' , lwp)243 902 IF( ios > 0 ) CALL ctl_nam( ios , 'namdrg in configuration namelist' ) 244 244 IF(lwm) WRITE ( numond, namdrg ) 245 245 ! … … 338 338 IF(ll_top) READ ( numnam_ref, namdrg_top, IOSTAT = ios, ERR = 901) 339 339 IF(ll_bot) READ ( numnam_ref, namdrg_bot, IOSTAT = ios, ERR = 901) 340 901 IF( ios /= 0 ) CALL ctl_nam( ios , TRIM(cl_namref) , lwp)340 901 IF( ios /= 0 ) CALL ctl_nam( ios , TRIM(cl_namref) ) 341 341 REWIND( numnam_cfg ) ! Namelist cd_namdrg in configuration namelist 342 342 IF(ll_top) READ ( numnam_cfg, namdrg_top, IOSTAT = ios, ERR = 902 ) 343 343 IF(ll_bot) READ ( numnam_cfg, namdrg_bot, IOSTAT = ios, ERR = 902 ) 344 902 IF( ios > 0 ) CALL ctl_nam( ios , TRIM(cl_namcfg) , lwp)344 902 IF( ios > 0 ) CALL ctl_nam( ios , TRIM(cl_namcfg) ) 345 345 IF(lwm .AND. ll_top) WRITE ( numond, namdrg_top ) 346 346 IF(lwm .AND. ll_bot) WRITE ( numond, namdrg_bot ) -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/ZDF/zdfgls.F90
r10425 r11317 859 859 REWIND( numnam_ref ) ! Namelist namzdf_gls in reference namelist : Vertical eddy diffivity and viscosity using gls turbulent closure scheme 860 860 READ ( numnam_ref, namzdf_gls, IOSTAT = ios, ERR = 901) 861 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_gls in reference namelist' , lwp)861 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_gls in reference namelist' ) 862 862 863 863 REWIND( numnam_cfg ) ! Namelist namzdf_gls in configuration namelist : Vertical eddy diffivity and viscosity using gls turbulent closure scheme 864 864 READ ( numnam_cfg, namzdf_gls, IOSTAT = ios, ERR = 902 ) 865 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namzdf_gls in configuration namelist' , lwp)865 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namzdf_gls in configuration namelist' ) 866 866 IF(lwm) WRITE ( numond, namzdf_gls ) 867 867 -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/ZDF/zdfiwm.F90
r10425 r11317 424 424 REWIND( numnam_ref ) ! Namelist namzdf_iwm in reference namelist : Wave-driven mixing 425 425 READ ( numnam_ref, namzdf_iwm, IOSTAT = ios, ERR = 901) 426 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_iwm in reference namelist' , lwp)426 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_iwm in reference namelist' ) 427 427 ! 428 428 REWIND( numnam_cfg ) ! Namelist namzdf_iwm in configuration namelist : Wave-driven mixing 429 429 READ ( numnam_cfg, namzdf_iwm, IOSTAT = ios, ERR = 902 ) 430 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namzdf_iwm in configuration namelist' , lwp)430 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namzdf_iwm in configuration namelist' ) 431 431 IF(lwm) WRITE ( numond, namzdf_iwm ) 432 432 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/ZDF/zdfosm.F90
r10425 r11317 1386 1386 REWIND( numnam_ref ) ! Namelist namzdf_osm in reference namelist : Osmosis ML model 1387 1387 READ ( numnam_ref, namzdf_osm, IOSTAT = ios, ERR = 901) 1388 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_osm in reference namelist' , lwp)1388 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_osm in reference namelist' ) 1389 1389 1390 1390 REWIND( numnam_cfg ) ! Namelist namzdf_tke in configuration namelist : Turbulent Kinetic Energy 1391 1391 READ ( numnam_cfg, namzdf_osm, IOSTAT = ios, ERR = 902 ) 1392 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namzdf_osm in configuration namelist' , lwp)1392 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namzdf_osm in configuration namelist' ) 1393 1393 IF(lwm) WRITE ( numond, namzdf_osm ) 1394 1394 -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/ZDF/zdfphy.F90
r10907 r11317 93 93 REWIND( numnam_ref ) ! Namelist namzdf in reference namelist : Vertical mixing parameters 94 94 READ ( numnam_ref, namzdf, IOSTAT = ios, ERR = 901) 95 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf in reference namelist' , lwp)95 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf in reference namelist' ) 96 96 ! 97 97 REWIND( numnam_cfg ) ! Namelist namzdf in reference namelist : Vertical mixing parameters 98 98 READ ( numnam_cfg, namzdf, IOSTAT = ios, ERR = 902 ) 99 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namzdf in configuration namelist' , lwp)99 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namzdf in configuration namelist' ) 100 100 IF(lwm) WRITE ( numond, namzdf ) 101 101 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/ZDF/zdfric.F90
r10068 r11317 80 80 REWIND( numnam_ref ) ! Namelist namzdf_ric in reference namelist : Vertical diffusion Kz depends on Richardson number 81 81 READ ( numnam_ref, namzdf_ric, IOSTAT = ios, ERR = 901) 82 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_ric in reference namelist' , lwp)82 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_ric in reference namelist' ) 83 83 84 84 REWIND( numnam_cfg ) ! Namelist namzdf_ric in configuration namelist : Vertical diffusion Kz depends on Richardson number 85 85 READ ( numnam_cfg, namzdf_ric, IOSTAT = ios, ERR = 902 ) 86 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namzdf_ric in configuration namelist' , lwp)86 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namzdf_ric in configuration namelist' ) 87 87 IF(lwm) WRITE ( numond, namzdf_ric ) 88 88 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/ZDF/zdftke.F90
r10425 r11317 658 658 REWIND( numnam_ref ) ! Namelist namzdf_tke in reference namelist : Turbulent Kinetic Energy 659 659 READ ( numnam_ref, namzdf_tke, IOSTAT = ios, ERR = 901) 660 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_tke in reference namelist' , lwp)660 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_tke in reference namelist' ) 661 661 662 662 REWIND( numnam_cfg ) ! Namelist namzdf_tke in configuration namelist : Turbulent Kinetic Energy 663 663 READ ( numnam_cfg, namzdf_tke, IOSTAT = ios, ERR = 902 ) 664 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namzdf_tke in configuration namelist' , lwp)664 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namzdf_tke in configuration namelist' ) 665 665 IF(lwm) WRITE ( numond, namzdf_tke ) 666 666 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/module_example
r10425 r11317 152 152 REWIND( numnam_ref ) ! Namelist namexa in reference namelist : Example 153 153 READ ( numnam_ref, namexa, IOSTAT = ios, ERR = 901) 154 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namexa in reference namelist' , lwp)154 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namexa in reference namelist' ) 155 155 ! 156 156 REWIND( numnam_cfg ) ! Namelist namexa in configuration namelist : Example 157 157 READ ( numnam_cfg, namexa, IOSTAT = ios, ERR = 902 ) 158 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namexa in configuration namelist' , lwp)158 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namexa in configuration namelist' ) 159 159 ! Output namelist for control 160 160 WRITE ( numond, namexa ) -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/nemogcm.F90
r10588 r11317 103 103 104 104 #if defined key_mpp_mpi 105 ! need MPI_Wtime 105 106 INCLUDE 'mpif.h' 106 107 #endif … … 220 221 ! 221 222 IF( nstop /= 0 .AND. lwp ) THEN ! error print 222 WRITE(numout,cform_err) 223 WRITE(numout,*) ' ==>>> nemo_gcm: a total of ', nstop, ' errors have been found' 224 WRITE(numout,*) 223 WRITE(ctmp1,*) ' ==>>> nemo_gcm: a total of ', nstop, ' errors have been found' 224 CALL ctl_stop( ctmp1 ) 225 225 ENDIF 226 226 ! … … 240 240 IF(lwm) THEN 241 241 IF( nstop == 0 ) THEN ; STOP 0 242 ELSE ; STOP 999242 ELSE ; STOP 123 243 243 ENDIF 244 244 ENDIF … … 253 253 !! ** Purpose : initialization of the NEMO GCM 254 254 !!---------------------------------------------------------------------- 255 INTEGER :: ji ! dummy loop indices 256 INTEGER :: ios, ilocal_comm ! local integers 257 CHARACTER(len=120), DIMENSION(60) :: cltxt, cltxt2, clnam 255 INTEGER :: ios, ilocal_comm ! local integers 258 256 !! 259 257 NAMELIST/namctl/ ln_ctl , sn_cfctl, nn_print, nn_ictls, nn_ictle, & … … 263 261 !!---------------------------------------------------------------------- 264 262 ! 265 cltxt = ''266 cltxt2 = ''267 clnam = ''268 263 cxios_context = 'nemo' 269 264 ! 270 ! ! Open reference namelist and configuration namelist files 271 CALL ctl_opn( numnam_ref, 'namelist_ref', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE. ) 272 CALL ctl_opn( numnam_cfg, 'namelist_cfg', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE. ) 273 ! 274 REWIND( numnam_ref ) ! Namelist namctl in reference namelist 275 READ ( numnam_ref, namctl, IOSTAT = ios, ERR = 901 ) 276 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namctl in reference namelist', .TRUE. ) 277 REWIND( numnam_cfg ) ! Namelist namctl in confguration namelist 278 READ ( numnam_cfg, namctl, IOSTAT = ios, ERR = 902 ) 279 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namctl in configuration namelist', .TRUE. ) 280 ! 281 REWIND( numnam_ref ) ! Namelist namcfg in reference namelist 282 READ ( numnam_ref, namcfg, IOSTAT = ios, ERR = 903 ) 283 903 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcfg in reference namelist', .TRUE. ) 284 REWIND( numnam_cfg ) ! Namelist namcfg in confguration namelist 285 READ ( numnam_cfg, namcfg, IOSTAT = ios, ERR = 904 ) 286 904 IF( ios > 0 ) CALL ctl_nam ( ios , 'namcfg in configuration namelist', .TRUE. ) 287 288 ! !--------------------------! 289 ! ! Set global domain size ! (control print return in cltxt2) 290 ! !--------------------------! 291 IF( ln_read_cfg ) THEN ! Read sizes in domain configuration file 292 CALL domain_cfg ( cltxt2, cn_cfg, nn_cfg, jpiglo, jpjglo, jpkglo, jperio ) 293 ! 294 ELSE ! user-defined namelist 295 CALL usr_def_nam( cltxt2, clnam, cn_cfg, nn_cfg, jpiglo, jpjglo, jpkglo, jperio ) 296 ENDIF 297 ! 298 ! 299 ! !--------------------------------------------! 300 ! ! set communicator & select the local node ! 301 ! ! NB: mynode also opens output.namelist.dyn ! 302 ! ! on unit number numond on first proc ! 303 ! !--------------------------------------------! 265 ! !-------------------------------------------------! 266 ! ! set communicator & select the local rank ! 267 ! ! must be done as soon as possible to get narea ! 268 ! !-------------------------------------------------! 269 ! 304 270 #if defined key_iomput 305 271 IF( Agrif_Root() ) THEN 306 272 IF( lk_oasis ) THEN 307 273 CALL cpl_init( "oceanx", ilocal_comm ) ! nemo local communicator given by oasis 308 CALL xios_initialize( "not used" , local_comm= ilocal_comm )! send nemo communicator to xios274 CALL xios_initialize( "not used" , local_comm =ilocal_comm ) ! send nemo communicator to xios 309 275 ELSE 310 CALL xios_initialize( "for_xios_mpi_id", return_comm=ilocal_comm )! nemo local communicator given by xios276 CALL xios_initialize( "for_xios_mpi_id", return_comm=ilocal_comm ) ! nemo local communicator given by xios 311 277 ENDIF 312 278 ENDIF 313 ! Nodes selection (control print return in cltxt) 314 narea = mynode( cltxt, 'output.namelist.dyn', numnam_ref, numnam_cfg, numond , nstop, ilocal_comm ) 279 CALL mpp_start( ilocal_comm ) 315 280 #else 316 281 IF( lk_oasis ) THEN … … 318 283 CALL cpl_init( "oceanx", ilocal_comm ) ! nemo local communicator given by oasis 319 284 ENDIF 320 ! Nodes selection (control print return in cltxt) 321 narea = mynode( cltxt, 'output.namelist.dyn', numnam_ref, numnam_cfg, numond , nstop, ilocal_comm ) 285 CALL mpp_start( ilocal_comm ) 322 286 ELSE 323 ilocal_comm = 0 ! Nodes selection (control print return in cltxt)324 narea = mynode( cltxt, 'output.namelist.dyn', numnam_ref, numnam_cfg, numond , nstop )325 ENDIF 326 #endif 327 328 narea = narea + 1 ! mynode return the rank of proc (0 --> jpnij -1 )329 330 IF( sn_cfctl%l_config ) THEN331 ! Activate finer control of report outputs332 ! optionally switch off output from selected areas (note this only333 ! applies to output which does not involve global communications)334 IF( ( narea < sn_cfctl%procmin .OR. narea > sn_cfctl%procmax ) .OR. &335 & ( MOD( narea - sn_cfctl%procmin, sn_cfctl%procincr ) /= 0 ) ) &336 & CALL nemo_set_cfctl( sn_cfctl, .FALSE., .FALSE. )337 ELSE338 ! Use ln_ctl to turn on or off all options.339 CALL nemo_set_cfctl( sn_cfctl, ln_ctl, .TRUE. )340 ENDIF341 342 lwm = (narea == 1) ! control of output namelists343 lwp = (narea == 1) .OR. ln_ctl ! control of all listing output print344 345 IF(lwm) THEN ! write merged namelists from earlier to output namelist346 ! ! now that the file has been opened in call to mynode.347 ! ! NB: nammpp has already been written in mynode (if lk_mpp_mpi)348 WRITE( numond, namctl)349 WRITE( numond, namcfg)350 IF( .NOT.ln_read_cfg ) THEN351 DO ji = 1, SIZE(clnam)352 IF( TRIM(clnam(ji)) /= '' ) WRITE(numond, * ) clnam(ji) ! namusr_def print 353 END DO354 ENDIF355 ENDIF356 357 IF(lwp) THEN ! open listing units358 !359 CALL ctl_opn( numout, 'ocean.output', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE., narea )287 CALL mpp_start( ) 288 ENDIF 289 #endif 290 ! 291 narea = mpprank + 1 ! mpprank: the rank of proc (0 --> mppsize -1 ) 292 lwm = (narea == 1) ! control of output namelists 293 ! 294 ! !---------------------------------------------------------------! 295 ! ! Open output files, reference and configuration namelist files ! 296 ! !---------------------------------------------------------------! 297 ! 298 ! open ocean.output as soon as possible to get all output prints (including errors messages) 299 IF( lwm ) CALL ctl_opn( numout, 'ocean.output', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 300 ! open reference and configuration namelist files 301 CALL ctl_opn( numnam_ref, 'namelist_ref', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 302 CALL ctl_opn( numnam_cfg, 'namelist_cfg', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 303 IF( lwm ) CALL ctl_opn( numond, 'output.namelist.dyn', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 304 ! open /dev/null file to be able to supress output write easily 305 CALL ctl_opn( numnul, '/dev/null', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 306 ! 307 ! !--------------------! 308 ! ! Open listing units ! -> need ln_ctl from namctl to define lwp 309 ! !--------------------! 310 ! 311 REWIND( numnam_ref ) ! Namelist namctl in reference namelist 312 READ ( numnam_ref, namctl, IOSTAT = ios, ERR = 901 ) 313 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namctl in reference namelist' ) 314 REWIND( numnam_cfg ) ! Namelist namctl in confguration namelist 315 READ ( numnam_cfg, namctl, IOSTAT = ios, ERR = 902 ) 316 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namctl in configuration namelist' ) 317 ! 318 lwp = (narea == 1) .OR. ln_ctl ! control of all listing output print 319 ! 320 IF(lwp) THEN ! open listing units 321 ! 322 IF( .NOT. lwm ) & ! alreay opened for narea == 1 323 & CALL ctl_opn( numout, 'ocean.output', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE., narea ) 360 324 ! 361 325 WRITE(numout,*) 362 WRITE(numout,*) ' CNRS - NERC - Met OFFICE - MERCATOR-ocean - INGV -CMCC'326 WRITE(numout,*) ' CNRS - NERC - Met OFFICE - MERCATOR-ocean - CMCC' 363 327 WRITE(numout,*) ' NEMO team' 364 328 WRITE(numout,*) ' Ocean General Circulation Model' … … 379 343 WRITE(numout,*) " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ " 380 344 WRITE(numout,*) 381 382 DO ji = 1, SIZE(cltxt)383 IF( TRIM(cltxt (ji)) /= '' ) WRITE(numout,*) TRIM(cltxt(ji)) ! control print of mynode384 END DO385 WRITE(numout,*)386 WRITE(numout,*)387 DO ji = 1, SIZE(cltxt2)388 IF( TRIM(cltxt2(ji)) /= '' ) WRITE(numout,*) TRIM(cltxt2(ji)) ! control print of domain size389 END DO390 345 ! 391 346 WRITE(numout,cform_aaa) ! Flag AAAAAAA 392 347 ! 393 348 ENDIF 394 ! open /dev/null file to be able to supress output write easily 395 CALL ctl_opn( numnul, '/dev/null', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE. ) 396 ! 397 ! ! Domain decomposition 398 CALL mpp_init ! MPP 349 ! 350 ! finalize the definition of namctl variables 351 IF( sn_cfctl%l_config ) THEN 352 ! Activate finer control of report outputs 353 ! optionally switch off output from selected areas (note this only 354 ! applies to output which does not involve global communications) 355 IF( ( narea < sn_cfctl%procmin .OR. narea > sn_cfctl%procmax ) .OR. & 356 & ( MOD( narea - sn_cfctl%procmin, sn_cfctl%procincr ) /= 0 ) ) & 357 & CALL nemo_set_cfctl( sn_cfctl, .FALSE., .FALSE. ) 358 ELSE 359 ! Use ln_ctl to turn on or off all options. 360 CALL nemo_set_cfctl( sn_cfctl, ln_ctl, .TRUE. ) 361 ENDIF 362 ! 363 IF(lwm) WRITE( numond, namctl ) 364 ! 365 ! !------------------------------------! 366 ! ! Set global domain size parameters ! 367 ! !------------------------------------! 368 ! 369 REWIND( numnam_ref ) ! Namelist namcfg in reference namelist 370 READ ( numnam_ref, namcfg, IOSTAT = ios, ERR = 903 ) 371 903 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcfg in reference namelist' ) 372 REWIND( numnam_cfg ) ! Namelist namcfg in confguration namelist 373 READ ( numnam_cfg, namcfg, IOSTAT = ios, ERR = 904 ) 374 904 IF( ios > 0 ) CALL ctl_nam ( ios , 'namcfg in configuration namelist' ) 375 ! 376 IF( ln_read_cfg ) THEN ! Read sizes in domain configuration file 377 CALL domain_cfg ( cn_cfg, nn_cfg, jpiglo, jpjglo, jpkglo, jperio ) 378 ELSE ! user-defined namelist 379 CALL usr_def_nam( cn_cfg, nn_cfg, jpiglo, jpjglo, jpkglo, jperio ) 380 ENDIF 381 ! 382 IF(lwm) WRITE( numond, namcfg ) 383 ! 384 ! !-----------------------------------------! 385 ! ! mpp parameters and domain decomposition ! 386 ! !-----------------------------------------! 387 CALL mpp_init 399 388 400 389 ! Now we know the dimensions of the grid and numout has been set: we can allocate arrays … … 507 496 !! ** Purpose : control print setting 508 497 !! 509 !! ** Method : - print namctl information and check some consistencies498 !! ** Method : - print namctl and namcfg information and check some consistencies 510 499 !!---------------------------------------------------------------------- 511 500 ! … … 673 662 END SUBROUTINE nemo_alloc 674 663 664 675 665 SUBROUTINE nemo_set_cfctl(sn_cfctl, setto, for_all ) 676 666 !!---------------------------------------------------------------------- -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OFF/dtadyn.F90
r10425 r11317 227 227 REWIND( numnam_ref ) ! Namelist namdta_dyn in reference namelist : Offline: init. of dynamical data 228 228 READ ( numnam_ref, namdta_dyn, IOSTAT = ios, ERR = 901) 229 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdta_dyn in reference namelist' , lwp)229 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdta_dyn in reference namelist' ) 230 230 REWIND( numnam_cfg ) ! Namelist namdta_dyn in configuration namelist : Offline: init. of dynamical data 231 231 READ ( numnam_cfg, namdta_dyn, IOSTAT = ios, ERR = 902 ) 232 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namdta_dyn in configuration namelist' , lwp)232 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namdta_dyn in configuration namelist' ) 233 233 IF(lwm) WRITE ( numond, namdta_dyn ) 234 234 ! ! store namelist information in an array … … 477 477 REWIND( numnam_ref ) ! Namelist namdta_dyn in reference namelist : Offline: init. of dynamical data 478 478 READ ( numnam_ref, namdta_dyn, IOSTAT = ios, ERR = 901) 479 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdta_dyn in reference namelist' , lwp)479 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdta_dyn in reference namelist' ) 480 480 REWIND( numnam_cfg ) ! Namelist namdta_dyn in configuration namelist : Offline: init. of dynamical data 481 481 READ ( numnam_cfg, namdta_dyn, IOSTAT = ios, ERR = 902 ) 482 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namdta_dyn in configuration namelist' , lwp)482 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namdta_dyn in configuration namelist' ) 483 483 IF(lwm) WRITE ( numond, namdta_dyn ) 484 484 ! ! store namelist information in an array -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OFF/nemogcm.F90
r10601 r11317 131 131 132 132 IF( nstop /= 0 .AND. lwp ) THEN ! error print 133 WRITE(numout,cform_err) 134 WRITE(numout,*) ' ==>>> nemo_gcm: a total of ', nstop, ' errors have been found' 135 WRITE(numout,*) 133 WRITE(ctmp1,*) ' ==>>> nemo_gcm: a total of ', nstop, ' errors have been found' 134 CALL ctl_stop( ctmp1 ) 136 135 ENDIF 137 136 ! … … 146 145 #endif 147 146 ! 147 IF(lwm) THEN 148 IF( nstop == 0 ) THEN ; STOP 0 149 ELSE ; STOP 123 150 ENDIF 151 ENDIF 152 ! 148 153 END SUBROUTINE nemo_gcm 149 154 … … 155 160 !! ** Purpose : initialization of the nemo model in off-line mode 156 161 !!---------------------------------------------------------------------- 157 INTEGER :: ji ! dummy loop indices 158 INTEGER :: ios, ilocal_comm ! local integers 159 CHARACTER(len=120), DIMENSION(30) :: cltxt, cltxt2, clnam 162 INTEGER :: ios, ilocal_comm ! local integers 160 163 !! 161 164 NAMELIST/namctl/ ln_ctl , sn_cfctl, nn_print, nn_ictls, nn_ictle, & … … 165 168 !!---------------------------------------------------------------------- 166 169 ! 167 cltxt = ''168 cltxt2 = ''169 clnam = ''170 170 cxios_context = 'nemo' 171 171 ! 172 ! ! Open reference namelist and configuration namelist files 173 CALL ctl_opn( numnam_ref, 'namelist_ref', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE. ) 174 CALL ctl_opn( numnam_cfg, 'namelist_cfg', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE. ) 172 ! !-------------------------------------------------! 173 ! ! set communicator & select the local rank ! 174 ! ! must be done as soon as possible to get narea ! 175 ! !-------------------------------------------------! 176 ! 177 #if defined key_iomput 178 CALL xios_initialize( "for_xios_mpi_id", return_comm=ilocal_comm ) ! nemo local communicator given by xios 179 CALL mpp_start( ilocal_comm ) 180 #else 181 CALL mpp_start( ) 182 #endif 183 ! 184 narea = mpprank + 1 ! mpprank: the rank of proc (0 --> mppsize -1 ) 185 lwm = (narea == 1) ! control of output namelists 186 ! 187 ! !---------------------------------------------------------------! 188 ! ! Open output files, reference and configuration namelist files ! 189 ! !---------------------------------------------------------------! 190 ! 191 ! open ocean.output as soon as possible to get all output prints (including errors messages) 192 IF( lwm ) CALL ctl_opn( numout, 'ocean.output', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 193 ! open reference and configuration namelist files 194 CALL ctl_opn( numnam_ref, 'namelist_ref', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 195 CALL ctl_opn( numnam_cfg, 'namelist_cfg', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 196 IF( lwm ) CALL ctl_opn( numond, 'output.namelist.dyn', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 197 ! open /dev/null file to be able to supress output write easily 198 CALL ctl_opn( numnul, '/dev/null', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 199 ! 200 ! !--------------------! 201 ! ! Open listing units ! -> need ln_ctl from namctl to define lwp 202 ! !--------------------! 175 203 ! 176 204 REWIND( numnam_ref ) ! Namelist namctl in reference namelist 177 205 READ ( numnam_ref, namctl, IOSTAT = ios, ERR = 901 ) 178 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namctl in reference namelist' , .TRUE.)206 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namctl in reference namelist' ) 179 207 REWIND( numnam_cfg ) ! Namelist namctl in confguration namelist 180 208 READ ( numnam_cfg, namctl, IOSTAT = ios, ERR = 902 ) 181 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namctl in configuration namelist', .TRUE. ) 182 ! 183 REWIND( numnam_ref ) ! Namelist namcfg in reference namelist 184 READ ( numnam_ref, namcfg, IOSTAT = ios, ERR = 903 ) 185 903 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcfg in reference namelist', .TRUE. ) 186 REWIND( numnam_cfg ) ! Namelist namcfg in confguration namelist 187 READ ( numnam_cfg, namcfg, IOSTAT = ios, ERR = 904 ) 188 904 IF( ios > 0 ) CALL ctl_nam ( ios , 'namcfg in configuration namelist', .TRUE. ) 189 190 ! !--------------------------! 191 ! ! Set global domain size ! (control print return in cltxt2) 192 ! !--------------------------! 193 IF( ln_read_cfg ) THEN ! Read sizes in domain configuration file 194 CALL domain_cfg ( cltxt2, cn_cfg, nn_cfg, jpiglo, jpjglo, jpkglo, jperio ) 209 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namctl in configuration namelist' ) 210 ! 211 lwp = (narea == 1) .OR. ln_ctl ! control of all listing output print 212 ! 213 IF(lwp) THEN ! open listing units 195 214 ! 196 ELSE ! user-defined namelist 197 CALL usr_def_nam( cltxt2, clnam, cn_cfg, nn_cfg, jpiglo, jpjglo, jpkglo, jperio ) 198 ENDIF 199 ! 200 l_offline = .true. ! passive tracers are run offline 201 ! 202 ! !--------------------------------------------! 203 ! ! set communicator & select the local node ! 204 ! ! NB: mynode also opens output.namelist.dyn ! 205 ! ! on unit number numond on first proc ! 206 ! !--------------------------------------------! 207 #if defined key_iomput 208 CALL xios_initialize( "for_xios_mpi_id",return_comm=ilocal_comm ) 209 narea = mynode( cltxt, 'output.namelist.dyn', numnam_ref, numnam_cfg, numond , nstop, ilocal_comm ) ! Nodes selection 210 #else 211 ilocal_comm = 0 212 narea = mynode( cltxt, 'output.namelist.dyn', numnam_ref, numnam_cfg, numond , nstop ) ! Nodes selection (control print return in cltxt) 213 #endif 214 215 narea = narea + 1 ! mynode return the rank of proc (0 --> jpnij -1 ) 216 215 IF( .NOT. lwm ) & ! alreay opened for narea == 1 216 & CALL ctl_opn( numout, 'ocean.output', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE., narea ) 217 ! 218 WRITE(numout,*) 219 WRITE(numout,*) ' CNRS - NERC - Met OFFICE - MERCATOR-ocean - CMCC' 220 WRITE(numout,*) ' NEMO team' 221 WRITE(numout,*) ' Off-line TOP Model' 222 WRITE(numout,*) ' NEMO version 4.0 (2019) ' 223 WRITE(numout,*) 224 WRITE(numout,*) " ._ ._ ._ ._ ._ " 225 WRITE(numout,*) " _.-._)`\_.-._)`\_.-._)`\_.-._)`\_.-._)`\_ " 226 WRITE(numout,*) 227 WRITE(numout,*) " o _, _, " 228 WRITE(numout,*) " o .' ( .-' / " 229 WRITE(numout,*) " o _/..._'. .' / " 230 WRITE(numout,*) " ( o .-'` ` '-./ _.' " 231 WRITE(numout,*) " ) ( o) ;= <_ ( " 232 WRITE(numout,*) " ( '-.,\\__ __.-;`\ '. ) " 233 WRITE(numout,*) " ) ) \) |`\ \) '. \ ( ( " 234 WRITE(numout,*) " ( ( \_/ '-._\ ) ) " 235 WRITE(numout,*) " ) ) ` ( ( " 236 WRITE(numout,*) " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ " 237 WRITE(numout,*) 238 ! 239 WRITE(numout,cform_aaa) ! Flag AAAAAAA 240 ! 241 ENDIF 242 ! 243 ! finalize the definition of namctl variables 217 244 IF( sn_cfctl%l_config ) THEN 218 245 ! Activate finer control of report outputs … … 226 253 CALL nemo_set_cfctl( sn_cfctl, ln_ctl, .TRUE. ) 227 254 ENDIF 228 229 lwm = (narea == 1) ! control of output namelists 230 lwp = (narea == 1) .OR. ln_ctl ! control of all listing output print 231 232 IF(lwm) THEN ! write merged namelists from earlier to output namelist 233 ! ! now that the file has been opened in call to mynode. 234 ! ! NB: nammpp has already been written in mynode (if lk_mpp_mpi) 235 WRITE( numond, namctl ) 236 WRITE( numond, namcfg ) 237 IF( .NOT.ln_read_cfg ) THEN 238 DO ji = 1, SIZE(clnam) 239 IF( TRIM(clnam(ji)) /= '' ) WRITE(numond, * ) clnam(ji) ! namusr_def print 240 END DO 241 ENDIF 242 ENDIF 243 244 IF(lwp) THEN ! open listing units 245 ! 246 CALL ctl_opn( numout, 'ocean.output', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE., narea ) 247 ! 248 WRITE(numout,*) 249 WRITE(numout,*) ' CNRS - NERC - Met OFFICE - MERCATOR-ocean - INGV - CMCC' 250 WRITE(numout,*) ' NEMO team' 251 WRITE(numout,*) ' Off-line TOP Model' 252 WRITE(numout,*) ' NEMO version 4.0 (2019) ' 253 WRITE(numout,*) 254 WRITE(numout,*) " ._ ._ ._ ._ ._ " 255 WRITE(numout,*) " _.-._)`\_.-._)`\_.-._)`\_.-._)`\_.-._)`\_ " 256 WRITE(numout,*) 257 WRITE(numout,*) " o _, _, " 258 WRITE(numout,*) " o .' ( .-' / " 259 WRITE(numout,*) " o _/..._'. .' / " 260 WRITE(numout,*) " ( o .-'` ` '-./ _.' " 261 WRITE(numout,*) " ) ( o) ;= <_ ( " 262 WRITE(numout,*) " ( '-.,\\__ __.-;`\ '. ) " 263 WRITE(numout,*) " ) ) \) |`\ \) '. \ ( ( " 264 WRITE(numout,*) " ( ( \_/ '-._\ ) ) " 265 WRITE(numout,*) " ) ) ` ( ( " 266 WRITE(numout,*) " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ " 267 WRITE(numout,*) 268 DO ji = 1, SIZE(cltxt) 269 IF( TRIM(cltxt (ji)) /= '' ) WRITE(numout,*) TRIM(cltxt(ji)) ! control print of mynode 270 END DO 271 WRITE(numout,*) 272 WRITE(numout,*) 273 DO ji = 1, SIZE(cltxt2) 274 IF( TRIM(cltxt2(ji)) /= '' ) WRITE(numout,*) TRIM(cltxt2(ji)) ! control print of domain size 275 END DO 276 ! 277 WRITE(numout,cform_aaa) ! Flag AAAAAAA 278 ! 279 ENDIF 280 ! open /dev/null file to be able to supress output write easily 281 CALL ctl_opn( numnul, '/dev/null', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE. ) 282 ! 283 ! ! Domain decomposition 284 CALL mpp_init ! MPP 255 ! 256 IF(lwm) WRITE( numond, namctl ) 257 ! 258 ! !------------------------------------! 259 ! ! Set global domain size parameters ! 260 ! !------------------------------------! 261 ! 262 REWIND( numnam_ref ) ! Namelist namcfg in reference namelist 263 READ ( numnam_ref, namcfg, IOSTAT = ios, ERR = 903 ) 264 903 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcfg in reference namelist' ) 265 REWIND( numnam_cfg ) ! Namelist namcfg in confguration namelist 266 READ ( numnam_cfg, namcfg, IOSTAT = ios, ERR = 904 ) 267 904 IF( ios > 0 ) CALL ctl_nam ( ios , 'namcfg in configuration namelist' ) 268 ! 269 IF( ln_read_cfg ) THEN ! Read sizes in domain configuration file 270 CALL domain_cfg ( cn_cfg, nn_cfg, jpiglo, jpjglo, jpkglo, jperio ) 271 ELSE ! user-defined namelist 272 CALL usr_def_nam( cn_cfg, nn_cfg, jpiglo, jpjglo, jpkglo, jperio ) 273 ENDIF 274 ! 275 IF(lwm) WRITE( numond, namcfg ) 276 l_offline = .true. ! passive tracers are run offline 277 ! 278 ! !-----------------------------------------! 279 ! ! mpp parameters and domain decomposition ! 280 ! !-----------------------------------------! 281 ! 282 CALL mpp_init 285 283 286 284 ! Now we know the dimensions of the grid and numout has been set: we can allocate arrays -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/SAO/nemogcm.F90
r10601 r11317 89 89 !! ** Purpose : initialization of the NEMO GCM 90 90 !!---------------------------------------------------------------------- 91 INTEGER :: ji ! dummy loop indices92 91 INTEGER :: ios, ilocal_comm ! local integer 93 CHARACTER(len=120), DIMENSION(30) :: cltxt, cltxt2, clnam94 92 ! 95 93 NAMELIST/namctl/ ln_ctl , sn_cfctl, nn_print, nn_ictls, nn_ictle, & … … 99 97 !!---------------------------------------------------------------------- 100 98 ! 101 cltxt = ''102 cltxt2 = ''103 clnam = ''104 99 cxios_context = 'nemo' 105 100 ! 106 ! ! Open reference namelist and configuration namelist files 107 CALL ctl_opn( numnam_ref, 'namelist_ref', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE. ) 108 CALL ctl_opn( numnam_cfg, 'namelist_cfg', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE. ) 109 ! 110 REWIND( numnam_ref ) ! Namelist namctl in reference namelist : Control prints 111 READ ( numnam_ref, namctl, IOSTAT = ios, ERR = 901 ) 112 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namctl in reference namelist', .TRUE. ) 113 REWIND( numnam_cfg ) ! Namelist namctl in confguration namelist 114 READ ( numnam_cfg, namctl, IOSTAT = ios, ERR = 902 ) 115 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namctl in configuration namelist', .TRUE. ) 116 ! 117 REWIND( numnam_ref ) ! Namelist namcfg in reference namelist : Control prints 118 READ ( numnam_ref, namcfg, IOSTAT = ios, ERR = 903 ) 119 903 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcfg in reference namelist', .TRUE. ) 120 REWIND( numnam_cfg ) ! Namelist namcfg in confguration namelist : Control prints & Benchmark 121 READ ( numnam_cfg, namcfg, IOSTAT = ios, ERR = 904 ) 122 904 IF( ios > 0 ) CALL ctl_nam ( ios , 'namcfg in configuration namelist', .TRUE. ) 123 124 ! !--------------------------! 125 ! ! Set global domain size ! (control print return in cltxt2) 126 ! !--------------------------! 127 IF( ln_read_cfg ) THEN ! Read sizes in domain configuration file 128 CALL domain_cfg ( cltxt2, cn_cfg, nn_cfg, jpiglo, jpjglo, jpkglo, jperio ) 129 ! 130 ELSE ! user-defined namelist 131 CALL usr_def_nam( cltxt2, clnam, cn_cfg, nn_cfg, jpiglo, jpjglo, jpkglo, jperio ) 132 ENDIF 133 ! 134 ! 135 ! !--------------------------------------------! 136 ! ! set communicator & select the local node ! 137 ! ! NB: mynode also opens output.namelist.dyn ! 138 ! ! on unit number numond on first proc ! 139 ! !--------------------------------------------! 101 ! !-------------------------------------------------! 102 ! ! set communicator & select the local rank ! 103 ! ! must be done as soon as possible to get narea ! 104 ! !-------------------------------------------------! 105 ! 140 106 #if defined key_iomput 141 107 IF( Agrif_Root() ) THEN 142 108 IF( lk_oasis ) THEN 143 CALL cpl_init( "oceanx", ilocal_comm ) ! nemo local communicator given by oasis144 CALL xios_initialize( "not used" ,local_comm=ilocal_comm )! send nemo communicator to xios109 CALL cpl_init( "oceanx", ilocal_comm ) ! nemo local communicator given by oasis 110 CALL xios_initialize( "not used" , local_comm =ilocal_comm ) ! send nemo communicator to xios 145 111 ELSE 146 CALL xios_initialize( "for_xios_mpi_id",return_comm=ilocal_comm )! nemo local communicator given by xios112 CALL xios_initialize( "for_xios_mpi_id", return_comm=ilocal_comm ) ! nemo local communicator given by xios 147 113 ENDIF 148 114 ENDIF 149 ! Nodes selection (control print return in cltxt) 150 narea = mynode( cltxt, 'output.namelist.dyn', numnam_ref, numnam_cfg, numond , nstop, ilocal_comm ) 115 CALL mpp_start( ilocal_comm ) 151 116 #else 152 117 IF( lk_oasis ) THEN 153 118 IF( Agrif_Root() ) THEN 154 CALL cpl_init( "oceanx", ilocal_comm ) 119 CALL cpl_init( "oceanx", ilocal_comm ) ! nemo local communicator given by oasis 155 120 ENDIF 156 ! Nodes selection (control print return in cltxt) 157 narea = mynode( cltxt, 'output.namelist.dyn', numnam_ref, numnam_cfg, numond , nstop, ilocal_comm ) 121 CALL mpp_start( ilocal_comm ) 158 122 ELSE 159 ilocal_comm = 0 ! Nodes selection (control print return in cltxt) 160 narea = mynode( cltxt, 'output.namelist.dyn', numnam_ref, numnam_cfg, numond , nstop ) 123 CALL mpp_start( ) 161 124 ENDIF 162 125 #endif 163 164 narea = narea + 1 ! mynode return the rank of proc (0 --> jpnij-1 )165 166 IF( sn_cfctl%l_config ) THEN167 ! Activate finer control of report outputs168 ! optionally switch off output from selected areas (note this only169 ! applies to output which does not involve global communications170 IF( ( narea < sn_cfctl%procmin .OR. narea > sn_cfctl%procmax ) .OR. &171 & ( MOD( narea - sn_cfctl%procmin, sn_cfctl%procincr ) /= 0 ) ) &172 & CALL nemo_set_cfctl( sn_cfctl, .FALSE., .FALSE. )173 ELSE174 ! Use ln_ctl to turn on or off all options.175 CALL nemo_set_cfctl( sn_cfctl, ln_ctl, .TRUE. )176 ENDIF177 178 lwm = (narea == 1) ! control of output namelists179 lwp = (narea == 1) .OR. ln_ctl ! control of all listing output print180 181 IF(lwm) THEN182 ! write merged namelists from earlier to output namelist now that the183 ! file has been opened in call to mynode. nammpp has already been184 ! written in mynode (if lk_mpp_mpi)185 WRITE( numond, namctl)186 WRITE( numond, namcfg)187 IF( .NOT.ln_read_cfg ) THEN188 DO ji = 1, SIZE(clnam)189 IF( TRIM(clnam(ji)) /= '' ) WRITE(numond, * ) clnam(ji) ! namusr_def print 190 END DO191 ENDIF192 ENDIF193 194 IF(lwp) THEN ! open listing units195 !196 CALL ctl_opn( numout, 'ocean.output', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE., narea )197 ! 198 WRITE(numout,*) 199 WRITE(numout,*) ' CNRS - NERC - Met OFFICE - MERCATOR-ocean - INGV -CMCC'126 ! 127 narea = mpprank + 1 ! mpprank: the rank of proc (0 --> mppsize -1 ) 128 lwm = (narea == 1) ! control of output namelists 129 ! 130 ! !---------------------------------------------------------------! 131 ! ! Open output files, reference and configuration namelist files ! 132 ! !---------------------------------------------------------------! 133 ! 134 ! open ocean.output as soon as possible to get all output prints (including errors messages) 135 IF( lwm ) CALL ctl_opn( numout, 'ocean.output', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 136 ! open reference and configuration namelist files 137 CALL ctl_opn( numnam_ref, 'namelist_ref', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 138 CALL ctl_opn( numnam_cfg, 'namelist_cfg', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 139 IF( lwm ) CALL ctl_opn( numond, 'output.namelist.dyn', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 140 ! open /dev/null file to be able to supress output write easily 141 CALL ctl_opn( numnul, '/dev/null', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 142 ! 143 ! !--------------------! 144 ! ! Open listing units ! -> need ln_ctl from namctl to define lwp 145 ! !--------------------! 146 ! 147 REWIND( numnam_ref ) ! Namelist namctl in reference namelist 148 READ ( numnam_ref, namctl, IOSTAT = ios, ERR = 901 ) 149 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namctl in reference namelist' ) 150 REWIND( numnam_cfg ) ! Namelist namctl in confguration namelist 151 READ ( numnam_cfg, namctl, IOSTAT = ios, ERR = 902 ) 152 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namctl in configuration namelist' ) 153 ! 154 lwp = (narea == 1) .OR. ln_ctl ! control of all listing output print 155 ! 156 IF(lwp) THEN ! open listing units 157 ! 158 IF( .NOT. lwm ) & ! alreay opened for narea == 1 159 & CALL ctl_opn( numout, 'ocean.output', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE., narea ) 160 ! 161 WRITE(numout,*) 162 WRITE(numout,*) ' CNRS - NERC - Met OFFICE - MERCATOR-ocean - CMCC' 200 163 WRITE(numout,*) ' NEMO team' 201 164 WRITE(numout,*) ' Stand Alone Observation operator' … … 213 176 WRITE(numout,*) " ) ) \) |`\ \) '. \ ( ( " 214 177 WRITE(numout,*) " ( ( \_/ '-._\ ) ) " 215 WRITE(numout,*) " ) ) `( ( "178 WRITE(numout,*) " ) ) jgs ` ( ( " 216 179 WRITE(numout,*) " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ " 217 180 WRITE(numout,*) 218 DO ji = 1, SIZE(cltxt)219 IF( TRIM(cltxt (ji)) /= '' ) WRITE(numout,*) TRIM(cltxt(ji)) ! control print of mynode220 END DO221 WRITE(numout,*)222 WRITE(numout,*)223 DO ji = 1, SIZE(cltxt2)224 IF( TRIM(cltxt2(ji)) /= '' ) WRITE(numout,*) TRIM(cltxt2(ji)) ! control print of domain size225 END DO226 181 ! 227 182 WRITE(numout,cform_aaa) ! Flag AAAAAAA 228 183 ! 229 184 ENDIF 230 ! ! Domain decomposition 231 CALL mpp_init ! MPP 185 ! 186 ! finalize the definition of namctl variables 187 IF( sn_cfctl%l_config ) THEN 188 ! Activate finer control of report outputs 189 ! optionally switch off output from selected areas (note this only 190 ! applies to output which does not involve global communications) 191 IF( ( narea < sn_cfctl%procmin .OR. narea > sn_cfctl%procmax ) .OR. & 192 & ( MOD( narea - sn_cfctl%procmin, sn_cfctl%procincr ) /= 0 ) ) & 193 & CALL nemo_set_cfctl( sn_cfctl, .FALSE., .FALSE. ) 194 ELSE 195 ! Use ln_ctl to turn on or off all options. 196 CALL nemo_set_cfctl( sn_cfctl, ln_ctl, .TRUE. ) 197 ENDIF 198 ! 199 IF(lwm) WRITE( numond, namctl ) 200 ! 201 ! !------------------------------------! 202 ! ! Set global domain size parameters ! 203 ! !------------------------------------! 204 ! 205 REWIND( numnam_ref ) ! Namelist namcfg in reference namelist 206 READ ( numnam_ref, namcfg, IOSTAT = ios, ERR = 903 ) 207 903 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcfg in reference namelist' ) 208 REWIND( numnam_cfg ) ! Namelist namcfg in confguration namelist 209 READ ( numnam_cfg, namcfg, IOSTAT = ios, ERR = 904 ) 210 904 IF( ios > 0 ) CALL ctl_nam ( ios , 'namcfg in configuration namelist' ) 211 ! 212 IF( ln_read_cfg ) THEN ! Read sizes in domain configuration file 213 CALL domain_cfg ( cn_cfg, nn_cfg, jpiglo, jpjglo, jpkglo, jperio ) 214 ELSE ! user-defined namelist 215 CALL usr_def_nam( cn_cfg, nn_cfg, jpiglo, jpjglo, jpkglo, jperio ) 216 ENDIF 217 ! 218 IF(lwm) WRITE( numond, namcfg ) 219 ! 220 ! !-----------------------------------------! 221 ! ! mpp parameters and domain decomposition ! 222 ! !-----------------------------------------! 223 CALL mpp_init 232 224 233 225 ! Now we know the dimensions of the grid and numout has been set: we can allocate arrays -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/SAO/sao_data.F90
r10069 r11317 54 54 REWIND( numnam_ref ) ! Namelist namctl in reference namelist : Control prints & Benchmark 55 55 READ ( numnam_ref, namsao, IOSTAT = ios, ERR = 901 ) 56 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsao in reference namelist' , .TRUE.)56 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsao in reference namelist' ) 57 57 REWIND( numnam_cfg ) ! Namelist namctl in confguration namelist : Control prints & Benchmark 58 58 READ ( numnam_cfg, namsao, IOSTAT = ios, ERR = 902 ) 59 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namsao in configuration namelist' , .TRUE.)59 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namsao in configuration namelist' ) 60 60 61 61 lmask(:) = .FALSE. ! count input files -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/SAS/nemogcm.F90
r11263 r11317 151 151 ! 152 152 IF( nstop /= 0 .AND. lwp ) THEN ! error print 153 WRITE(numout,cform_err) 154 WRITE(numout,*) ' ==>>> nemo_gcm: a total of ', nstop, ' errors have been found' 155 WRITE(numout,*) 153 WRITE(ctmp1,*) ' ==>>> nemo_gcm: a total of ', nstop, ' errors have been found' 154 CALL ctl_stop( ctmp1 ) 156 155 ENDIF 157 156 ! … … 171 170 IF(lwm) THEN 172 171 IF( nstop == 0 ) THEN ; STOP 0 173 ELSE ; STOP 999172 ELSE ; STOP 123 174 173 ENDIF 175 174 ENDIF … … 184 183 !! ** Purpose : initialization of the NEMO GCM 185 184 !!---------------------------------------------------------------------- 186 INTEGER :: ji ! dummy loop indices 187 INTEGER :: ios, ilocal_comm ! local integers 188 CHARACTER(len=120), DIMENSION(30) :: cltxt, cltxt2, clnam 189 CHARACTER(len=80) :: clname 185 INTEGER :: ios, ilocal_comm ! local integers 190 186 !! 191 187 NAMELIST/namctl/ ln_ctl , sn_cfctl, nn_print, nn_ictls, nn_ictle, & … … 195 191 !!---------------------------------------------------------------------- 196 192 ! 197 cltxt = '' 198 cltxt2 = '' 199 clnam = '' 200 cxios_context = 'nemo' 201 ! 202 ! ! Open reference namelist and configuration namelist files 203 IF( lk_oasis ) THEN 204 CALL ctl_opn( numnam_ref, 'namelist_sas_ref', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE. ) 205 CALL ctl_opn( numnam_cfg, 'namelist_sas_cfg', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE. ) 206 cxios_context = 'sas' 207 clname = 'output.namelist_sas.dyn' 208 ELSE 209 CALL ctl_opn( numnam_ref, 'namelist_ref', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE. ) 210 CALL ctl_opn( numnam_cfg, 'namelist_cfg', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE. ) 211 cxios_context = 'nemo' 212 clname = 'output.namelist.dyn' 213 ENDIF 214 ! 215 REWIND( numnam_ref ) ! Namelist namctl in reference namelist 216 READ ( numnam_ref, namctl, IOSTAT = ios, ERR = 901 ) 217 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namctl in reference namelist', .TRUE. ) 218 REWIND( numnam_cfg ) ! Namelist namctl in confguration namelist 219 READ ( numnam_cfg, namctl, IOSTAT = ios, ERR = 902 ) 220 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namctl in configuration namelist', .TRUE. ) 221 ! 222 REWIND( numnam_ref ) ! Namelist namcfg in reference namelist 223 READ ( numnam_ref, namcfg, IOSTAT = ios, ERR = 903 ) 224 903 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcfg in reference namelist', .TRUE. ) 225 REWIND( numnam_cfg ) ! Namelist namcfg in confguration namelist 226 READ ( numnam_cfg, namcfg, IOSTAT = ios, ERR = 904 ) 227 904 IF( ios > 0 ) CALL ctl_nam ( ios , 'namcfg in configuration namelist', .TRUE. ) 228 229 ! !--------------------------! 230 ! ! Set global domain size ! (control print return in cltxt2) 231 ! !--------------------------! 232 IF( ln_read_cfg ) THEN ! Read sizes in domain configuration file 233 CALL domain_cfg ( cltxt2, cn_cfg, nn_cfg, jpiglo, jpjglo, jpkglo, jperio ) 234 ! 235 ELSE ! user-defined namelist 236 CALL usr_def_nam( cltxt2, clnam, cn_cfg, nn_cfg, jpiglo, jpjglo, jpkglo, jperio ) 237 ENDIF 238 ! 239 ! 240 ! !--------------------------------------------! 241 ! ! set communicator & select the local node ! 242 ! ! NB: mynode also opens output.namelist.dyn ! 243 ! ! on unit number numond on first proc ! 244 ! !--------------------------------------------! 193 IF( lk_oasis ) THEN ; cxios_context = 'sas' 194 ELSE ; cxios_context = 'nemo' 195 ENDIF 196 ! 197 ! !-------------------------------------------------! 198 ! ! set communicator & select the local rank ! 199 ! ! must be done as soon as possible to get narea ! 200 ! !-------------------------------------------------! 201 ! 245 202 #if defined key_iomput 246 203 IF( Agrif_Root() ) THEN 247 204 IF( lk_oasis ) THEN 248 CALL cpl_init( "sas", ilocal_comm ) ! nemo local communicator given by oasis249 CALL xios_initialize( "not used",local_comm=ilocal_comm ) ! send nemo communicator to xios205 CALL cpl_init( "sas", ilocal_comm ) ! nemo local communicator given by oasis 206 CALL xios_initialize( "not used",local_comm=ilocal_comm ) ! send nemo communicator to xios 250 207 ELSE 251 208 CALL xios_initialize( "for_xios_mpi_id",return_comm=ilocal_comm ) ! nemo local communicator given by xios 252 209 ENDIF 253 210 ENDIF 254 narea = mynode ( cltxt, clname, numnam_ref, numnam_cfg, numond , nstop, ilocal_comm ) ! Nodes selection211 CALL mpp_start( ilocal_comm ) 255 212 #else 256 213 IF( lk_oasis ) THEN 257 214 IF( Agrif_Root() ) THEN 258 CALL cpl_init( "sas", ilocal_comm ) 215 CALL cpl_init( "sas", ilocal_comm ) ! nemo local communicator given by oasis 259 216 ENDIF 260 narea = mynode( cltxt, clname, numnam_ref, numnam_cfg, numond , nstop, ilocal_comm ) ! Nodes selection (control print return in cltxt)217 CALL mpp_start( ilocal_comm ) 261 218 ELSE 262 ilocal_comm = 0 263 narea = mynode( cltxt, clname, numnam_ref, numnam_cfg, numond , nstop ) ! Nodes selection (control print return in cltxt) 264 ENDIF 265 #endif 266 267 narea = narea + 1 ! mynode return the rank of proc (0 --> jpnij -1 ) 268 269 IF( sn_cfctl%l_config ) THEN 270 ! Activate finer control of report outputs 271 ! optionally switch off output from selected areas (note this only 272 ! applies to output which does not involve global communications) 273 IF( ( narea < sn_cfctl%procmin .OR. narea > sn_cfctl%procmax ) .OR. & 274 & ( MOD( narea - sn_cfctl%procmin, sn_cfctl%procincr ) /= 0 ) ) & 275 & CALL nemo_set_cfctl( sn_cfctl, .FALSE., .FALSE. ) 219 CALL mpp_start( ) 220 ENDIF 221 #endif 222 ! 223 narea = mpprank + 1 ! mpprank: the rank of proc (0 --> mppsize -1 ) 224 lwm = (narea == 1) ! control of output namelists 225 ! 226 ! !---------------------------------------------------------------! 227 ! ! Open output files, reference and configuration namelist files ! 228 ! !---------------------------------------------------------------! 229 ! 230 ! open ocean.output as soon as possible to get all output prints (including errors messages) 231 IF( lk_oasis ) THEN 232 IF( lwm ) CALL ctl_opn( numout, 'sas.output', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 233 ! open reference and configuration namelist files 234 CALL ctl_opn( numnam_ref, 'namelist_sas_ref', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 235 CALL ctl_opn( numnam_cfg, 'namelist_sas_cfg', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 236 IF( lwm ) CALL ctl_opn( numond, 'output.namelist_sas.dyn', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 276 237 ELSE 277 ! Use ln_ctl to turn on or off all options. 278 CALL nemo_set_cfctl( sn_cfctl, ln_ctl, .TRUE. ) 279 ENDIF 280 281 lwm = (narea == 1) ! control of output namelists 282 lwp = (narea == 1) .OR. ln_ctl ! control of all listing output print 283 284 IF(lwm) THEN ! write merged namelists from earlier to output namelist 285 ! ! now that the file has been opened in call to mynode. 286 ! ! NB: nammpp has already been written in mynode (if lk_mpp_mpi) 287 WRITE( numond, namctl ) 288 WRITE( numond, namcfg ) 289 IF( .NOT.ln_read_cfg ) THEN 290 DO ji = 1, SIZE(clnam) 291 IF( TRIM(clnam(ji)) /= '' ) WRITE(numond, * ) clnam(ji) ! namusr_def print 292 END DO 238 IF( lwm ) CALL ctl_opn( numout, 'ocean.output', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 239 ! open reference and configuration namelist files 240 CALL ctl_opn( numnam_ref, 'namelist_ref', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 241 CALL ctl_opn( numnam_cfg, 'namelist_cfg', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 242 IF( lwm ) CALL ctl_opn( numond, 'output.namelist.dyn', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 243 ENDIF 244 ! open /dev/null file to be able to supress output write easily 245 CALL ctl_opn( numnul, '/dev/null', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 246 ! 247 ! !--------------------! 248 ! ! Open listing units ! -> need ln_ctl from namctl to define lwp 249 ! !--------------------! 250 ! 251 REWIND( numnam_ref ) ! Namelist namctl in reference namelist 252 READ ( numnam_ref, namctl, IOSTAT = ios, ERR = 901 ) 253 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namctl in reference namelist' ) 254 REWIND( numnam_cfg ) ! Namelist namctl in confguration namelist 255 READ ( numnam_cfg, namctl, IOSTAT = ios, ERR = 902 ) 256 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namctl in configuration namelist' ) 257 ! 258 lwp = (narea == 1) .OR. ln_ctl ! control of all listing output print 259 ! 260 IF(lwp) THEN ! open listing units 261 ! 262 IF( .NOT. lwm ) THEN ! alreay opened for narea == 1 263 IF(lk_oasis) THEN ; CALL ctl_opn( numout, 'sas.output','REPLACE','FORMATTED','SEQUENTIAL',-1,-1, .FALSE., narea ) 264 ELSE ; CALL ctl_opn( numout, 'ocean.output','REPLACE','FORMATTED','SEQUENTIAL',-1,-1, .FALSE., narea ) 265 ENDIF 293 266 ENDIF 294 ENDIF295 296 IF(lwp) THEN ! open listing units297 !298 IF( lk_oasis ) THEN ; CALL ctl_opn( numout, 'sas.output', 'REPLACE','FORMATTED','SEQUENTIAL', -1, 6, .FALSE., narea )299 ELSE ; CALL ctl_opn( numout, 'ocean.output', 'REPLACE','FORMATTED','SEQUENTIAL', -1, 6, .FALSE., narea )300 ENDIF301 267 ! 302 268 WRITE(numout,*) 303 WRITE(numout,*) ' CNRS - NERC - Met OFFICE - MERCATOR-ocean - INGV -CMCC'269 WRITE(numout,*) ' CNRS - NERC - Met OFFICE - MERCATOR-ocean - CMCC' 304 270 WRITE(numout,*) ' NEMO team' 305 271 WRITE(numout,*) ' Ocean General Circulation Model' … … 320 286 WRITE(numout,*) " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ " 321 287 WRITE(numout,*) 322 323 DO ji = 1, SIZE(cltxt)324 IF( TRIM(cltxt (ji)) /= '' ) WRITE(numout,*) TRIM(cltxt(ji)) ! control print of mynode325 END DO326 288 WRITE(numout,*) 327 WRITE(numout,*)328 DO ji = 1, SIZE(cltxt2)329 IF( TRIM(cltxt2(ji)) /= '' ) WRITE(numout,*) TRIM(cltxt2(ji)) ! control print of domain size330 END DO331 289 ! 332 290 WRITE(numout,cform_aaa) ! Flag AAAAAAA 333 291 ! 334 292 ENDIF 335 ! open /dev/null file to be able to supress output write easily 336 CALL ctl_opn( numnul, '/dev/null', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE. ) 337 ! 338 ! ! Domain decomposition 339 CALL mpp_init ! MPP 293 ! 294 ! finalize the definition of namctl variables 295 IF( sn_cfctl%l_config ) THEN 296 ! Activate finer control of report outputs 297 ! optionally switch off output from selected areas (note this only 298 ! applies to output which does not involve global communications) 299 IF( ( narea < sn_cfctl%procmin .OR. narea > sn_cfctl%procmax ) .OR. & 300 & ( MOD( narea - sn_cfctl%procmin, sn_cfctl%procincr ) /= 0 ) ) & 301 & CALL nemo_set_cfctl( sn_cfctl, .FALSE., .FALSE. ) 302 ELSE 303 ! Use ln_ctl to turn on or off all options. 304 CALL nemo_set_cfctl( sn_cfctl, ln_ctl, .TRUE. ) 305 ENDIF 306 ! 307 IF(lwm) WRITE( numond, namctl ) 308 ! 309 ! !------------------------------------! 310 ! ! Set global domain size parameters ! 311 ! !------------------------------------! 312 ! 313 REWIND( numnam_ref ) ! Namelist namcfg in reference namelist 314 READ ( numnam_ref, namcfg, IOSTAT = ios, ERR = 903 ) 315 903 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcfg in reference namelist' ) 316 REWIND( numnam_cfg ) ! Namelist namcfg in confguration namelist 317 READ ( numnam_cfg, namcfg, IOSTAT = ios, ERR = 904 ) 318 904 IF( ios > 0 ) CALL ctl_nam ( ios , 'namcfg in configuration namelist' ) 319 ! 320 IF( ln_read_cfg ) THEN ! Read sizes in domain configuration file 321 CALL domain_cfg ( cn_cfg, nn_cfg, jpiglo, jpjglo, jpkglo, jperio ) 322 ELSE ! user-defined namelist 323 CALL usr_def_nam( cn_cfg, nn_cfg, jpiglo, jpjglo, jpkglo, jperio ) 324 ENDIF 325 ! 326 IF(lwm) WRITE( numond, namcfg ) 327 ! 328 ! !-----------------------------------------! 329 ! ! mpp parameters and domain decomposition ! 330 ! !-----------------------------------------! 331 CALL mpp_init 340 332 341 333 ! Now we know the dimensions of the grid and numout has been set: we can allocate arrays -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/SAS/sbcssm.F90
r10068 r11317 188 188 REWIND( numnam_ref ) ! Namelist namsbc_sas in reference namelist : Input fields 189 189 READ ( numnam_ref, namsbc_sas, IOSTAT = ios, ERR = 901) 190 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_sas in reference namelist' , lwp)190 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_sas in reference namelist' ) 191 191 REWIND( numnam_cfg ) ! Namelist namsbc_sas in configuration namelist : Input fields 192 192 READ ( numnam_cfg, namsbc_sas, IOSTAT = ios, ERR = 902 ) 193 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namsbc_sas in configuration namelist' , lwp)193 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namsbc_sas in configuration namelist' ) 194 194 IF(lwm) WRITE ( numond, namsbc_sas ) 195 195 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/TOP/AGE/trcnam_age.F90
r10069 r11317 56 56 REWIND( numnat_ref ) ! Namelist namagedate in reference namelist : AGE parameters 57 57 READ ( numnat_ref, namage, IOSTAT = ios, ERR = 901) 58 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namage in reference namelist' , lwp)58 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namage in reference namelist' ) 59 59 REWIND( numnat_cfg ) ! Namelist namagedate in configuration namelist : AGE parameters 60 60 READ ( numnat_cfg, namage, IOSTAT = ios, ERR = 902 ) 61 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namage in configuration namelist' , lwp)61 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namage in configuration namelist' ) 62 62 IF(lwm) WRITE ( numont, namage ) 63 63 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/TOP/C14/trcnam_c14.F90
r10069 r11317 63 63 REWIND( numtrc_ref ) ! Namelist namc14_typ in reference namelist : 64 64 READ ( numtrc_ref, namc14_typ, IOSTAT = ios, ERR = 901) 65 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namc14_typ in reference namelist' , lwp)65 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namc14_typ in reference namelist' ) 66 66 REWIND( numtrc_cfg ) ! Namelist namcfcdate in configuration namelist 67 67 READ ( numtrc_cfg, namc14_typ, IOSTAT = ios, ERR = 902) 68 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namc14_typ in configuration namelist' , lwp)68 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namc14_typ in configuration namelist' ) 69 69 IF(lwm) WRITE ( numonr, namc14_typ ) 70 70 ! … … 80 80 REWIND( numtrc_ref ) ! Namelist namc14_typ in reference namelist : 81 81 READ ( numtrc_ref, namc14_sbc, IOSTAT = ios, ERR = 903) 82 903 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namc14_sbc in reference namelist' , lwp)82 903 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namc14_sbc in reference namelist' ) 83 83 REWIND( numtrc_cfg ) ! Namelist namcfcdate in configuration namelist 84 84 READ ( numtrc_cfg, namc14_sbc, IOSTAT = ios, ERR = 904) 85 904 IF( ios > 0 ) CALL ctl_nam ( ios , 'namc14_sbc in configuration namelist' , lwp)85 904 IF( ios > 0 ) CALL ctl_nam ( ios , 'namc14_sbc in configuration namelist' ) 86 86 IF(lwm) WRITE( numonr, namc14_sbc ) 87 87 ! … … 96 96 REWIND( numtrc_ref ) ! Namelist namc14_typ in reference namelist : 97 97 READ ( numtrc_ref, namc14_fcg, IOSTAT = ios, ERR = 905) 98 905 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namc14_fcg in reference namelist' , lwp)98 905 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namc14_fcg in reference namelist' ) 99 99 REWIND( numtrc_cfg ) ! Namelist namcfcdate in configuration namelist 100 100 READ ( numtrc_cfg, namc14_fcg, IOSTAT = ios, ERR = 906) 101 906 IF( ios > 0 ) CALL ctl_nam ( ios , 'namc14_fcg in configuration namelist' , lwp)101 906 IF( ios > 0 ) CALL ctl_nam ( ios , 'namc14_fcg in configuration namelist' ) 102 102 IF(lwm) WRITE ( numonr, namc14_fcg ) 103 103 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/TOP/CFC/trcnam_cfc.F90
r10068 r11317 53 53 REWIND( numtrc_ref ) ! Namelist namcfcdate in reference namelist : CFC parameters 54 54 READ ( numtrc_ref, namcfc, IOSTAT = ios, ERR = 901) 55 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcfc in reference namelist' , lwp)55 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcfc in reference namelist' ) 56 56 REWIND( numtrc_cfg ) ! Namelist namcfcdate in configuration namelist : CFC parameters 57 57 READ ( numtrc_cfg, namcfc, IOSTAT = ios, ERR = 902 ) 58 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namcfc in configuration namelist' , lwp)58 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namcfc in configuration namelist' ) 59 59 IF(lwm) WRITE( numonr, namcfc ) 60 60 IF(lwm) CALL FLUSH ( numonr ) ! flush output namelist CFC -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/TOP/PISCES/P2Z/p2zbio.F90
r10425 r11317 404 404 REWIND( numnatp_ref ) ! Namelist namlobphy in reference namelist : Lobster biological parameters 405 405 READ ( numnatp_ref, namlobphy, IOSTAT = ios, ERR = 901) 406 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobphy in reference namelist' , lwp)406 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobphy in reference namelist' ) 407 407 REWIND( numnatp_cfg ) ! Namelist namlobphy in configuration namelist : Lobster biological parameters 408 408 READ ( numnatp_cfg, namlobphy, IOSTAT = ios, ERR = 902 ) 409 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namlobphy in configuration namelist' , lwp)409 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namlobphy in configuration namelist' ) 410 410 IF(lwm) WRITE ( numonp, namlobphy ) 411 411 ! … … 421 421 REWIND( numnatp_ref ) ! Namelist namlobnut in reference namelist : Lobster nutriments parameters 422 422 READ ( numnatp_ref, namlobnut, IOSTAT = ios, ERR = 903) 423 903 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobnut in reference namelist' , lwp)423 903 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobnut in reference namelist' ) 424 424 REWIND( numnatp_cfg ) ! Namelist namlobnut in configuration namelist : Lobster nutriments parameters 425 425 READ ( numnatp_cfg, namlobnut, IOSTAT = ios, ERR = 904 ) 426 904 IF( ios > 0 ) CALL ctl_nam ( ios , 'namlobnut in configuration namelist' , lwp)426 904 IF( ios > 0 ) CALL ctl_nam ( ios , 'namlobnut in configuration namelist' ) 427 427 IF(lwm) WRITE ( numonp, namlobnut ) 428 428 … … 438 438 REWIND( numnatp_ref ) ! Namelist namlobzoo in reference namelist : Lobster zooplankton parameters 439 439 READ ( numnatp_ref, namlobzoo, IOSTAT = ios, ERR = 905) 440 905 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobzoo in reference namelist' , lwp)440 905 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobzoo in reference namelist' ) 441 441 REWIND( numnatp_cfg ) ! Namelist namlobzoo in configuration namelist : Lobster zooplankton parameters 442 442 READ ( numnatp_cfg, namlobzoo, IOSTAT = ios, ERR = 906 ) 443 906 IF( ios > 0 ) CALL ctl_nam ( ios , 'namlobzoo in configuration namelist' , lwp)443 906 IF( ios > 0 ) CALL ctl_nam ( ios , 'namlobzoo in configuration namelist' ) 444 444 IF(lwm) WRITE ( numonp, namlobzoo ) 445 445 … … 460 460 REWIND( numnatp_ref ) ! Namelist namlobdet in reference namelist : Lobster detritus parameters 461 461 READ ( numnatp_ref, namlobdet, IOSTAT = ios, ERR = 907) 462 907 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobdet in reference namelist' , lwp)462 907 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobdet in reference namelist' ) 463 463 REWIND( numnatp_cfg ) ! Namelist namlobdet in configuration namelist : Lobster detritus parameters 464 464 READ ( numnatp_cfg, namlobdet, IOSTAT = ios, ERR = 908 ) 465 908 IF( ios > 0 ) CALL ctl_nam ( ios , 'namlobdet in configuration namelist' , lwp)465 908 IF( ios > 0 ) CALL ctl_nam ( ios , 'namlobdet in configuration namelist' ) 466 466 IF(lwm) WRITE ( numonp, namlobdet ) 467 467 … … 475 475 REWIND( numnatp_ref ) ! Namelist namlobdom in reference namelist : Lobster DOM breakdown rate 476 476 READ ( numnatp_ref, namlobdom, IOSTAT = ios, ERR = 909) 477 909 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobdom in reference namelist' , lwp)477 909 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobdom in reference namelist' ) 478 478 REWIND( numnatp_cfg ) ! Namelist namlobdom in configuration namelist : Lobster DOM breakdown rate 479 479 READ ( numnatp_cfg, namlobdom, IOSTAT = ios, ERR = 910 ) 480 910 IF( ios > 0 ) CALL ctl_nam ( ios , 'namlobdom in configuration namelist' , lwp)480 910 IF( ios > 0 ) CALL ctl_nam ( ios , 'namlobdom in configuration namelist' ) 481 481 IF(lwm) WRITE ( numonp, namlobdom ) 482 482 -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/TOP/PISCES/P2Z/p2zopt.F90
r10068 r11317 161 161 REWIND( numnatp_ref ) ! Namelist namlobopt in reference namelist : Lobster options 162 162 READ ( numnatp_ref, namlobopt, IOSTAT = ios, ERR = 901) 163 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobopt in reference namelist' , lwp)163 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobopt in reference namelist' ) 164 164 165 165 REWIND( numnatp_cfg ) ! Namelist namlobopt in configuration namelist : Lobster options 166 166 READ ( numnatp_cfg, namlobopt, IOSTAT = ios, ERR = 902 ) 167 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namlobopt in configuration namelist' , lwp)167 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namlobopt in configuration namelist' ) 168 168 IF(lwm) WRITE ( numonp, namlobopt ) 169 169 … … 183 183 REWIND( numnatp_ref ) ! Namelist namlobrat in reference namelist : Lobster ratios 184 184 READ ( numnatp_ref, namlobrat, IOSTAT = ios, ERR = 903) 185 903 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobrat in reference namelist' , lwp)185 903 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlobrat in reference namelist' ) 186 186 187 187 REWIND( numnatp_cfg ) ! Namelist namlobrat in configuration namelist : Lobster ratios 188 188 READ ( numnatp_cfg, namlobrat, IOSTAT = ios, ERR = 904 ) 189 904 IF( ios > 0 ) CALL ctl_nam ( ios , 'namlobrat in configuration namelist' , lwp)189 904 IF( ios > 0 ) CALL ctl_nam ( ios , 'namlobrat in configuration namelist' ) 190 190 IF(lwm) WRITE ( numonp, namlobrat ) 191 191 -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/TOP/PISCES/P2Z/p2zsed.F90
r10068 r11317 134 134 REWIND( numnatp_ref ) ! Namelist namlobsed in reference namelist : Lobster sediments 135 135 READ ( numnatp_ref, namlobsed, IOSTAT = ios, ERR = 901) 136 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlosed in reference namelist' , lwp)136 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlosed in reference namelist' ) 137 137 REWIND( numnatp_cfg ) ! Namelist namlobsed in configuration namelist : Lobster sediments 138 138 READ ( numnatp_cfg, namlobsed, IOSTAT = ios, ERR = 902 ) 139 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namlobsed in configuration namelist' , lwp)139 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namlobsed in configuration namelist' ) 140 140 IF(lwm) WRITE ( numonp, namlobsed ) 141 141 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/TOP/PISCES/P4Z/p4zfechem.F90
r10416 r11317 256 256 REWIND( numnatp_ref ) ! Namelist nampisfer in reference namelist : Pisces iron chemistry 257 257 READ ( numnatp_ref, nampisfer, IOSTAT = ios, ERR = 901) 258 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisfer in reference namelist' , lwp)258 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisfer in reference namelist' ) 259 259 REWIND( numnatp_cfg ) ! Namelist nampisfer in configuration namelist : Pisces iron chemistry 260 260 READ ( numnatp_cfg, nampisfer, IOSTAT = ios, ERR = 902 ) 261 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampisfer in configuration namelist' , lwp)261 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampisfer in configuration namelist' ) 262 262 IF(lwm) WRITE( numonp, nampisfer ) 263 263 -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/TOP/PISCES/P4Z/p4zflx.F90
r10425 r11317 241 241 REWIND( numnatp_ref ) ! Namelist nampisext in reference namelist : Pisces atm. conditions 242 242 READ ( numnatp_ref, nampisext, IOSTAT = ios, ERR = 901) 243 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisext in reference namelist' , lwp)243 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisext in reference namelist' ) 244 244 REWIND( numnatp_cfg ) ! Namelist nampisext in configuration namelist : Pisces atm. conditions 245 245 READ ( numnatp_cfg, nampisext, IOSTAT = ios, ERR = 902 ) 246 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampisext in configuration namelist' , lwp)246 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampisext in configuration namelist' ) 247 247 IF(lwm) WRITE ( numonp, nampisext ) 248 248 ! … … 322 322 REWIND( numnatp_ref ) ! Namelist nampisatm in reference namelist : Pisces atm. sea level pressure file 323 323 READ ( numnatp_ref, nampisatm, IOSTAT = ios, ERR = 901) 324 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisatm in reference namelist' , lwp)324 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisatm in reference namelist' ) 325 325 REWIND( numnatp_cfg ) ! Namelist nampisatm in configuration namelist : Pisces atm. sea level pressure file 326 326 READ ( numnatp_cfg, nampisatm, IOSTAT = ios, ERR = 902 ) 327 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampisatm in configuration namelist' , lwp)327 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampisatm in configuration namelist' ) 328 328 IF(lwm) WRITE ( numonp, nampisatm ) 329 329 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/TOP/PISCES/P4Z/p4zligand.F90
r10416 r11317 127 127 REWIND( numnatp_ref ) ! Namelist nampislig in reference namelist : Pisces remineralization 128 128 READ ( numnatp_ref, nampislig, IOSTAT = ios, ERR = 901) 129 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampislig in reference namelist' , lwp)129 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampislig in reference namelist' ) 130 130 REWIND( numnatp_cfg ) ! Namelist nampislig in configuration namelist : Pisces remineralization 131 131 READ ( numnatp_cfg, nampislig, IOSTAT = ios, ERR = 902 ) 132 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampislig in configuration namelist' , lwp)132 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampislig in configuration namelist' ) 133 133 IF(lwm) WRITE ( numonp, nampislig ) 134 134 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/TOP/PISCES/P4Z/p4zlim.F90
r10425 r11317 254 254 REWIND( numnatp_ref ) ! Namelist nampislim in reference namelist : Pisces nutrient limitation parameters 255 255 READ ( numnatp_ref, namp4zlim, IOSTAT = ios, ERR = 901) 256 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namp4zlim in reference namelist' , lwp)256 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namp4zlim in reference namelist' ) 257 257 REWIND( numnatp_cfg ) ! Namelist nampislim in configuration namelist : Pisces nutrient limitation parameters 258 258 READ ( numnatp_cfg, namp4zlim, IOSTAT = ios, ERR = 902 ) 259 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namp4zlim in configuration namelist' , lwp)259 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namp4zlim in configuration namelist' ) 260 260 IF(lwm) WRITE( numonp, namp4zlim ) 261 261 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/TOP/PISCES/P4Z/p4zlys.F90
r10069 r11317 164 164 REWIND( numnatp_ref ) ! Namelist nampiscal in reference namelist : Pisces CaCO3 dissolution 165 165 READ ( numnatp_ref, nampiscal, IOSTAT = ios, ERR = 901) 166 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampiscal in reference namelist' , lwp)166 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampiscal in reference namelist' ) 167 167 REWIND( numnatp_cfg ) ! Namelist nampiscal in configuration namelist : Pisces CaCO3 dissolution 168 168 READ ( numnatp_cfg, nampiscal, IOSTAT = ios, ERR = 902 ) 169 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampiscal in configuration namelist' , lwp)169 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampiscal in configuration namelist' ) 170 170 IF(lwm) WRITE( numonp, nampiscal ) 171 171 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/TOP/PISCES/P4Z/p4zmeso.F90
r10367 r11317 292 292 REWIND( numnatp_ref ) ! Namelist nampismes in reference namelist : Pisces mesozooplankton 293 293 READ ( numnatp_ref, namp4zmes, IOSTAT = ios, ERR = 901) 294 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namp4zmes in reference namelist' , lwp)294 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namp4zmes in reference namelist' ) 295 295 REWIND( numnatp_cfg ) ! Namelist nampismes in configuration namelist : Pisces mesozooplankton 296 296 READ ( numnatp_cfg, namp4zmes, IOSTAT = ios, ERR = 902 ) 297 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namp4zmes in configuration namelist' , lwp)297 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namp4zmes in configuration namelist' ) 298 298 IF(lwm) WRITE( numonp, namp4zmes ) 299 299 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/TOP/PISCES/P4Z/p4zmicro.F90
r10374 r11317 245 245 REWIND( numnatp_ref ) ! Namelist nampiszoo in reference namelist : Pisces microzooplankton 246 246 READ ( numnatp_ref, namp4zzoo, IOSTAT = ios, ERR = 901) 247 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namp4zzoo in reference namelist' , lwp)247 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namp4zzoo in reference namelist' ) 248 248 REWIND( numnatp_cfg ) ! Namelist nampiszoo in configuration namelist : Pisces microzooplankton 249 249 READ ( numnatp_cfg, namp4zzoo, IOSTAT = ios, ERR = 902 ) 250 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namp4zzoo in configuration namelist' , lwp)250 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namp4zzoo in configuration namelist' ) 251 251 IF(lwm) WRITE( numonp, namp4zzoo ) 252 252 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/TOP/PISCES/P4Z/p4zmort.F90
r10227 r11317 229 229 REWIND( numnatp_ref ) ! Namelist nampismort in reference namelist : Pisces phytoplankton 230 230 READ ( numnatp_ref, namp4zmort, IOSTAT = ios, ERR = 901) 231 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namp4zmort in reference namelist' , lwp)231 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namp4zmort in reference namelist' ) 232 232 REWIND( numnatp_cfg ) ! Namelist nampismort in configuration namelist : Pisces phytoplankton 233 233 READ ( numnatp_cfg, namp4zmort, IOSTAT = ios, ERR = 902 ) 234 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namp4zmort in configuration namelist' , lwp)234 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namp4zmort in configuration namelist' ) 235 235 IF(lwm) WRITE( numonp, namp4zmort ) 236 236 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/TOP/PISCES/P4Z/p4zopt.F90
r10522 r11317 402 402 REWIND( numnatp_ref ) ! Namelist nampisopt in reference namelist : Pisces attenuation coef. and PAR 403 403 READ ( numnatp_ref, nampisopt, IOSTAT = ios, ERR = 901) 404 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisopt in reference namelist' , lwp)404 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisopt in reference namelist' ) 405 405 REWIND( numnatp_cfg ) ! Namelist nampisopt in configuration namelist : Pisces attenuation coef. and PAR 406 406 READ ( numnatp_cfg, nampisopt, IOSTAT = ios, ERR = 902 ) 407 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampisopt in configuration namelist' , lwp)407 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampisopt in configuration namelist' ) 408 408 IF(lwm) WRITE ( numonp, nampisopt ) 409 409 -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/TOP/PISCES/P4Z/p4zpoc.F90
r11263 r11317 499 499 REWIND( numnatp_ref ) ! Namelist nampisrem in reference namelist : Pisces remineralization 500 500 READ ( numnatp_ref, nampispoc, IOSTAT = ios, ERR = 901) 501 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampispoc in reference namelist' , lwp)501 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampispoc in reference namelist' ) 502 502 REWIND( numnatp_cfg ) ! Namelist nampisrem in configuration namelist : Pisces remineralization 503 503 READ ( numnatp_cfg, nampispoc, IOSTAT = ios, ERR = 902 ) 504 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampispoc in configuration namelist' , lwp)504 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampispoc in configuration namelist' ) 505 505 IF(lwm) WRITE( numonp, nampispoc ) 506 506 -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/TOP/PISCES/P4Z/p4zprod.F90
r11263 r11317 492 492 REWIND( numnatp_ref ) ! Namelist nampisprod in reference namelist : Pisces phytoplankton production 493 493 READ ( numnatp_ref, namp4zprod, IOSTAT = ios, ERR = 901) 494 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namp4zprod in reference namelist' , lwp)494 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namp4zprod in reference namelist' ) 495 495 REWIND( numnatp_cfg ) ! Namelist nampisprod in configuration namelist : Pisces phytoplankton production 496 496 READ ( numnatp_cfg, namp4zprod, IOSTAT = ios, ERR = 902 ) 497 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namp4zprod in configuration namelist' , lwp)497 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namp4zprod in configuration namelist' ) 498 498 IF(lwm) WRITE( numonp, namp4zprod ) 499 499 -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/TOP/PISCES/P4Z/p4zrem.F90
r10425 r11317 329 329 REWIND( numnatp_ref ) ! Namelist nampisrem in reference namelist : Pisces remineralization 330 330 READ ( numnatp_ref, nampisrem, IOSTAT = ios, ERR = 901) 331 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisrem in reference namelist' , lwp)331 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisrem in reference namelist' ) 332 332 REWIND( numnatp_cfg ) ! Namelist nampisrem in configuration namelist : Pisces remineralization 333 333 READ ( numnatp_cfg, nampisrem, IOSTAT = ios, ERR = 902 ) 334 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampisrem in configuration namelist' , lwp)334 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampisrem in configuration namelist' ) 335 335 IF(lwm) WRITE( numonp, nampisrem ) 336 336 -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/TOP/PISCES/P4Z/p4zsbc.F90
r10869 r11317 232 232 REWIND( numnatp_ref ) ! Namelist nampissbc in reference namelist : Pisces external sources of nutrients 233 233 READ ( numnatp_ref, nampissbc, IOSTAT = ios, ERR = 901) 234 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampissbc in reference namelist' , lwp)234 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampissbc in reference namelist' ) 235 235 REWIND( numnatp_cfg ) ! Namelist nampissbc in configuration namelist : Pisces external sources of nutrients 236 236 READ ( numnatp_cfg, nampissbc, IOSTAT = ios, ERR = 902 ) 237 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampissbc in configuration namelist' , lwp)237 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampissbc in configuration namelist' ) 238 238 IF(lwm) WRITE ( numonp, nampissbc ) 239 239 -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/TOP/PISCES/P4Z/p4zsms.F90
r10425 r11317 203 203 REWIND( numnatp_ref ) ! Namelist nampisbio in reference namelist : Pisces variables 204 204 READ ( numnatp_ref, nampisbio, IOSTAT = ios, ERR = 901) 205 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisbio in reference namelist' , lwp)205 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisbio in reference namelist' ) 206 206 REWIND( numnatp_cfg ) ! Namelist nampisbio in configuration namelist : Pisces variables 207 207 READ ( numnatp_cfg, nampisbio, IOSTAT = ios, ERR = 902 ) 208 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampisbio in configuration namelist' , lwp)208 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampisbio in configuration namelist' ) 209 209 IF(lwm) WRITE( numonp, nampisbio ) 210 210 ! … … 234 234 REWIND( numnatp_ref ) ! Namelist nampisdmp in reference namelist : Pisces damping 235 235 READ ( numnatp_ref, nampisdmp, IOSTAT = ios, ERR = 905) 236 905 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisdmp in reference namelist' , lwp)236 905 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisdmp in reference namelist' ) 237 237 REWIND( numnatp_cfg ) ! Namelist nampisdmp in configuration namelist : Pisces damping 238 238 READ ( numnatp_cfg, nampisdmp, IOSTAT = ios, ERR = 906 ) 239 906 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampisdmp in configuration namelist' , lwp)239 906 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampisdmp in configuration namelist' ) 240 240 IF(lwm) WRITE( numonp, nampisdmp ) 241 241 ! … … 249 249 REWIND( numnatp_ref ) ! Namelist nampismass in reference namelist : Pisces mass conservation check 250 250 READ ( numnatp_ref, nampismass, IOSTAT = ios, ERR = 907) 251 907 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampismass in reference namelist' , lwp)251 907 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampismass in reference namelist' ) 252 252 REWIND( numnatp_cfg ) ! Namelist nampismass in configuration namelist : Pisces mass conservation check 253 253 READ ( numnatp_cfg, nampismass, IOSTAT = ios, ERR = 908 ) 254 908 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampismass in configuration namelist' , lwp)254 908 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampismass in configuration namelist' ) 255 255 IF(lwm) WRITE( numonp, nampismass ) 256 256 -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/TOP/PISCES/P4Z/p5zlim.F90
r10425 r11317 450 450 REWIND( numnatp_ref ) ! Namelist nampislim in reference namelist : Pisces nutrient limitation parameters 451 451 READ ( numnatp_ref, namp5zlim, IOSTAT = ios, ERR = 901) 452 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampislim in reference namelist' , lwp)452 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampislim in reference namelist' ) 453 453 ! 454 454 REWIND( numnatp_cfg ) ! Namelist nampislim in configuration namelist : Pisces nutrient limitation parameters 455 455 READ ( numnatp_cfg, namp5zlim, IOSTAT = ios, ERR = 902 ) 456 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampislim in configuration namelist' , lwp)456 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampislim in configuration namelist' ) 457 457 IF(lwm) WRITE ( numonp, namp5zlim ) 458 458 ! … … 491 491 REWIND( numnatp_ref ) ! Namelist nampislim in reference namelist : Pisces nutrient limitation parameters 492 492 READ ( numnatp_ref, namp5zquota, IOSTAT = ios, ERR = 903) 493 903 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisquota in reference namelist' , lwp)493 903 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisquota in reference namelist' ) 494 494 ! 495 495 REWIND( numnatp_cfg ) ! Namelist nampislim in configuration namelist : Pisces nutrient limitation parameters 496 496 READ ( numnatp_cfg, namp5zquota, IOSTAT = ios, ERR = 904 ) 497 904 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampisquota in configuration namelist' , lwp)497 904 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampisquota in configuration namelist' ) 498 498 IF(lwm) WRITE ( numonp, namp5zquota ) 499 499 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/TOP/PISCES/P4Z/p5zmeso.F90
r10362 r11317 409 409 REWIND( numnatp_ref ) ! Namelist nampismes in reference namelist : Pisces mesozooplankton 410 410 READ ( numnatp_ref, namp5zmes, IOSTAT = ios, ERR = 901) 411 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampismes in reference namelist' , lwp)411 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampismes in reference namelist' ) 412 412 ! 413 413 REWIND( numnatp_cfg ) ! Namelist nampismes in configuration namelist : Pisces mesozooplankton 414 414 READ ( numnatp_cfg, namp5zmes, IOSTAT = ios, ERR = 902 ) 415 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampismes in configuration namelist' , lwp)415 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampismes in configuration namelist' ) 416 416 IF(lwm) WRITE ( numonp, namp5zmes ) 417 417 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/TOP/PISCES/P4Z/p5zmicro.F90
r10362 r11317 351 351 REWIND( numnatp_ref ) ! Namelist nampiszoo in reference namelist : Pisces microzooplankton 352 352 READ ( numnatp_ref, namp5zzoo, IOSTAT = ios, ERR = 901) 353 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namp5zzoo in reference namelist' , lwp)353 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namp5zzoo in reference namelist' ) 354 354 ! 355 355 REWIND( numnatp_cfg ) ! Namelist nampiszoo in configuration namelist : Pisces microzooplankton 356 356 READ ( numnatp_cfg, namp5zzoo, IOSTAT = ios, ERR = 902 ) 357 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namp5zzoo in configuration namelist' , lwp)357 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namp5zzoo in configuration namelist' ) 358 358 IF(lwm) WRITE ( numonp, namp5zzoo ) 359 359 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/TOP/PISCES/P4Z/p5zmort.F90
r10362 r11317 288 288 REWIND( numnatp_ref ) ! Namelist nampismort in reference namelist : Pisces phytoplankton 289 289 READ ( numnatp_ref, namp5zmort, IOSTAT = ios, ERR = 901) 290 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namp5zmort in reference namelist' , lwp)290 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namp5zmort in reference namelist' ) 291 291 292 292 REWIND( numnatp_cfg ) ! Namelist nampismort in configuration namelist : Pisces phytoplankton 293 293 READ ( numnatp_cfg, namp5zmort, IOSTAT = ios, ERR = 902 ) 294 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namp5zmort in configuration namelist' , lwp)294 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namp5zmort in configuration namelist' ) 295 295 IF(lwm) WRITE ( numonp, namp5zmort ) 296 296 -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/TOP/PISCES/P4Z/p5zprod.F90
r10873 r11317 584 584 REWIND( numnatp_ref ) ! Namelist nampisprod in reference namelist : Pisces phytoplankton production 585 585 READ ( numnatp_ref, namp5zprod, IOSTAT = ios, ERR = 901) 586 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namp5zprod in reference namelist' , lwp)586 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namp5zprod in reference namelist' ) 587 587 588 588 REWIND( numnatp_cfg ) ! Namelist nampisprod in configuration namelist : Pisces phytoplankton production 589 589 READ ( numnatp_cfg, namp5zprod, IOSTAT = ios, ERR = 902 ) 590 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namp5zprod in configuration namelist' , lwp)590 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namp5zprod in configuration namelist' ) 591 591 IF(lwm) WRITE ( numonp, namp5zprod ) 592 592 -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/TOP/PISCES/SED/sedini.F90
r10362 r11317 460 460 REWIND( numnamsed_ref ) ! Namelist nam_run in reference namelist : Pisces variables 461 461 READ ( numnamsed_ref, nam_run, IOSTAT = ios, ERR = 901) 462 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_run in reference namelist' , lwp)462 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_run in reference namelist' ) 463 463 464 464 REWIND( numnamsed_cfg ) ! Namelist nam_run in reference namelist : Pisces variables 465 465 READ ( numnamsed_cfg, nam_run, IOSTAT = ios, ERR = 902) 466 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_run in configuration namelist' , lwp)466 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_run in configuration namelist' ) 467 467 468 468 IF (lwp) THEN … … 476 476 REWIND( numnamsed_ref ) ! Namelist nam_geom in reference namelist : Pisces variables 477 477 READ ( numnamsed_ref, nam_geom, IOSTAT = ios, ERR = 903) 478 903 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_geom in reference namelist' , lwp)478 903 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_geom in reference namelist' ) 479 479 480 480 REWIND( numnamsed_cfg ) ! Namelist nam_geom in reference namelist : Pisces variables 481 481 READ ( numnamsed_cfg, nam_geom, IOSTAT = ios, ERR = 904) 482 904 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_geom in configuration namelist' , lwp)482 904 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_geom in configuration namelist' ) 483 483 484 484 IF (lwp) THEN … … 499 499 REWIND( numnamsed_ref ) ! Namelist nam_trased in reference namelist : Pisces variables 500 500 READ ( numnamsed_ref, nam_trased, IOSTAT = ios, ERR = 905) 501 905 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_trased in reference namelist' , lwp)501 905 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_trased in reference namelist' ) 502 502 503 503 REWIND( numnamsed_cfg ) ! Namelist nam_trased in reference namelist : Pisces variables 504 504 READ ( numnamsed_cfg, nam_trased, IOSTAT = ios, ERR = 906) 505 906 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_trased in configuration namelist' , lwp)505 906 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_trased in configuration namelist' ) 506 506 507 507 DO jn = 1, jpsol … … 532 532 REWIND( numnamsed_ref ) ! Namelist nam_diased in reference namelist : Pisces variables 533 533 READ ( numnamsed_ref, nam_diased, IOSTAT = ios, ERR = 907) 534 907 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_diased in reference namelist' , lwp)534 907 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_diased in reference namelist' ) 535 535 536 536 REWIND( numnamsed_cfg ) ! Namelist nam_diased in reference namelist : Pisces variables 537 537 READ ( numnamsed_cfg, nam_diased, IOSTAT = ios, ERR = 908) 538 908 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_diased in configuration namelist' , lwp)538 908 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_diased in configuration namelist' ) 539 539 540 540 DO jn = 1, jpdia3dsed … … 574 574 REWIND( numnamsed_ref ) ! Namelist nam_inorg in reference namelist : Pisces variables 575 575 READ ( numnamsed_ref, nam_inorg, IOSTAT = ios, ERR = 909) 576 909 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_inorg in reference namelist' , lwp)576 909 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_inorg in reference namelist' ) 577 577 578 578 REWIND( numnamsed_cfg ) ! Namelist nam_inorg in reference namelist : Pisces variables 579 579 READ ( numnamsed_cfg, nam_inorg, IOSTAT = ios, ERR = 910) 580 910 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_inorg in configuration namelist' , lwp)580 910 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_inorg in configuration namelist' ) 581 581 582 582 IF (lwp) THEN … … 600 600 REWIND( numnamsed_ref ) ! Namelist nam_poc in reference namelist : Pisces variables 601 601 READ ( numnamsed_ref, nam_poc, IOSTAT = ios, ERR = 911) 602 911 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_poc in reference namelist' , lwp)602 911 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_poc in reference namelist' ) 603 603 604 604 REWIND( numnamsed_cfg ) ! Namelist nam_poc in reference namelist : Pisces variables 605 605 READ ( numnamsed_cfg, nam_poc, IOSTAT = ios, ERR = 912) 606 912 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_poc in configuration namelist' , lwp)606 912 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_poc in configuration namelist' ) 607 607 608 608 IF (lwp) THEN … … 652 652 REWIND( numnamsed_ref ) ! Namelist nam_btb in reference namelist : Pisces variables 653 653 READ ( numnamsed_ref, nam_btb, IOSTAT = ios, ERR = 913) 654 913 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_btb in reference namelist' , lwp)654 913 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_btb in reference namelist' ) 655 655 656 656 REWIND( numnamsed_cfg ) ! Namelist nam_btb in reference namelist : Pisces variables 657 657 READ ( numnamsed_cfg, nam_btb, IOSTAT = ios, ERR = 914) 658 914 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_btb in configuration namelist' , lwp)658 914 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_btb in configuration namelist' ) 659 659 660 660 IF (lwp) THEN … … 673 673 REWIND( numnamsed_ref ) ! Namelist nam_rst in reference namelist : Pisces variables 674 674 READ ( numnamsed_ref, nam_rst, IOSTAT = ios, ERR = 915) 675 915 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_rst in reference namelist' , lwp)675 915 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_rst in reference namelist' ) 676 676 677 677 REWIND( numnamsed_cfg ) ! Namelist nam_rst in reference namelist : Pisces variables 678 678 READ ( numnamsed_cfg, nam_rst, IOSTAT = ios, ERR = 916) 679 916 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_rst in configuration namelist' , lwp)679 916 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_rst in configuration namelist' ) 680 680 681 681 IF (lwp) THEN -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/TOP/PISCES/trcnam_pisces.F90
r10222 r11317 57 57 REWIND( numnatp_ref ) ! Namelist nampisbio in reference namelist : Pisces variables 58 58 READ ( numnatp_ref, nampismod, IOSTAT = ios, ERR = 901) 59 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampismod in reference namelist' , lwp)59 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampismod in reference namelist' ) 60 60 REWIND( numnatp_cfg ) ! Namelist nampisbio in configuration namelist : Pisces variables 61 61 READ ( numnatp_cfg, nampismod, IOSTAT = ios, ERR = 902 ) 62 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampismod in configuration namelist' , lwp)62 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampismod in configuration namelist' ) 63 63 IF(lwm) WRITE( numonp, nampismod ) 64 64 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/TOP/TRP/trcadv.F90
r10068 r11317 166 166 REWIND( numnat_ref ) ! namtrc_adv in reference namelist 167 167 READ ( numnat_ref, namtrc_adv, IOSTAT = ios, ERR = 901) 168 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_adv in reference namelist' , lwp)168 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_adv in reference namelist' ) 169 169 REWIND( numnat_cfg ) ! namtrc_adv in configuration namelist 170 170 READ ( numnat_cfg, namtrc_adv, IOSTAT = ios, ERR = 902 ) 171 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtrc_adv in configuration namelist' , lwp)171 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtrc_adv in configuration namelist' ) 172 172 IF(lwm) WRITE ( numont, namtrc_adv ) 173 173 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/TOP/TRP/trcdmp.F90
r10351 r11317 183 183 REWIND( numnat_ref ) ! Namelist namtrc_dmp in reference namelist : Passive tracers newtonian damping 184 184 READ ( numnat_ref, namtrc_dmp, IOSTAT = ios, ERR = 909) 185 909 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_dmp in reference namelist' , lwp)185 909 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_dmp in reference namelist' ) 186 186 REWIND( numnat_cfg ) ! Namelist namtrc_dmp in configuration namelist : Passive tracers newtonian damping 187 187 READ ( numnat_cfg, namtrc_dmp, IOSTAT = ios, ERR = 910) 188 910 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtrc_dmp in configuration namelist' , lwp)188 910 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtrc_dmp in configuration namelist' ) 189 189 IF(lwm) WRITE ( numont, namtrc_dmp ) 190 190 -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/TOP/TRP/trcldf.F90
r10068 r11317 145 145 REWIND( numnat_ref ) ! namtrc_ldf in reference namelist 146 146 READ ( numnat_ref, namtrc_ldf, IOSTAT = ios, ERR = 903) 147 903 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_ldf in reference namelist' , lwp)147 903 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_ldf in reference namelist' ) 148 148 ! 149 149 REWIND( numnat_cfg ) ! namtrc_ldf in configuration namelist 150 150 READ ( numnat_cfg, namtrc_ldf, IOSTAT = ios, ERR = 904 ) 151 904 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtrc_ldf in configuration namelist' , lwp)151 904 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtrc_ldf in configuration namelist' ) 152 152 IF(lwm) WRITE ( numont, namtrc_ldf ) 153 153 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/TOP/TRP/trcrad.F90
r10425 r11317 89 89 REWIND( numnat_ref ) ! namtrc_rad in reference namelist 90 90 READ ( numnat_ref, namtrc_rad, IOSTAT = ios, ERR = 907) 91 907 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_rad in reference namelist' , lwp)91 907 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_rad in reference namelist' ) 92 92 REWIND( numnat_cfg ) ! namtrc_rad in configuration namelist 93 93 READ ( numnat_cfg, namtrc_rad, IOSTAT = ios, ERR = 908 ) 94 908 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtrc_rad in configuration namelist' , lwp)94 908 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtrc_rad in configuration namelist' ) 95 95 IF(lwm) WRITE( numont, namtrc_rad ) 96 96 -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/TOP/TRP/trcsink.F90
r10788 r11317 215 215 REWIND( numnat_ref ) ! namtrc_rad in reference namelist 216 216 READ ( numnat_ref, namtrc_snk, IOSTAT = ios, ERR = 907) 217 907 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_snk in reference namelist' , lwp)217 907 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_snk in reference namelist' ) 218 218 REWIND( numnat_cfg ) ! namtrc_rad in configuration namelist 219 219 READ ( numnat_cfg, namtrc_snk, IOSTAT = ios, ERR = 908 ) 220 908 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtrc_snk in configuration namelist' , lwp)220 908 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtrc_snk in configuration namelist' ) 221 221 IF(lwm) WRITE( numont, namtrc_snk ) 222 222 -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/TOP/TRP/trdmxl_trc.F90
r10425 r11317 108 108 ! ... Set nmld(ji,jj) = index of first T point below control surf. or outside mixed-layer 109 109 SELECT CASE ( nn_ctls_trc ) ! choice of the control surface 110 CASE ( -2 ) ; STOP 'trdmxl_trc : not ready '! -> isopycnal surface (see ???)110 CASE ( -2 ) ; CALL ctl_stop( 'STOP', 'trdmxl_trc : not ready ' ) ! -> isopycnal surface (see ???) 111 111 CASE ( -1 ) ; nmld_trc(:,:) = neln(:,:) ! -> euphotic layer with light criterion 112 112 CASE ( 0 ) ; nmld_trc(:,:) = nmln(:,:) ! -> ML with density criterion (see zdfmxl) … … 431 431 432 432 #if defined key_diainstant 433 STOP 'tmltrd_trc : key_diainstant was never checked within trdmxl. Comment this to proceed.'433 CALL ctl_stop( 'STOP', 'tmltrd_trc : key_diainstant was never checked within trdmxl. Comment this to proceed.' ) 434 434 #endif 435 435 ENDIF … … 857 857 # if defined key_diainstant 858 858 IF( .NOT. ln_trdmxl_trc_instant ) THEN 859 STOP 'trd_mxl_trc : this was never checked. Comment this line to proceed...'859 CALL ctl_stop( 'STOP', 'trd_mxl_trc : this was never checked. Comment this line to proceed...' ) 860 860 ENDIF 861 861 zsto = nn_trd_trc * rdt … … 928 928 !-- Define miscellaneous passive tracer mixed-layer variables 929 929 IF( jpltrd_trc /= jpmxl_trc_atf .OR. jpltrd_trc - 1 /= jpmxl_trc_radb ) THEN 930 STOP 'Error : jpltrd_trc /= jpmxl_trc_atf .OR. jpltrd_trc - 1 /= jpmxl_trc_radb'! see below930 CALL ctl_stop( 'STOP', 'Error : jpltrd_trc /= jpmxl_trc_atf .OR. jpltrd_trc - 1 /= jpmxl_trc_radb' ) ! see below 931 931 ENDIF 932 932 -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/TOP/trcbc.F90
r11224 r11317 122 122 REWIND( numnat_ref ) ! Namelist namtrc_bc in reference namelist : Passive tracer data structure 123 123 READ ( numnat_ref, namtrc_bc, IOSTAT = ios, ERR = 901) 124 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_bc in reference namelist' , lwp)124 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_bc in reference namelist' ) 125 125 REWIND( numnat_cfg ) ! Namelist namtrc_bc in configuration namelist : Passive tracer data structure 126 126 READ ( numnat_cfg, namtrc_bc, IOSTAT = ios, ERR = 902 ) 127 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtrc_bc in configuration namelist' , lwp)127 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtrc_bc in configuration namelist' ) 128 128 IF(lwm) WRITE ( numont, namtrc_bc ) 129 129 … … 131 131 REWIND( numnat_ref ) ! Namelist namtrc_bdy in reference namelist : Passive tracer data structure 132 132 READ ( numnat_ref, namtrc_bdy, IOSTAT = ios, ERR = 903) 133 903 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_bdy in reference namelist' , lwp)133 903 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_bdy in reference namelist' ) 134 134 ! make sur that all elements of the namelist variables have a default definition from namelist_ref 135 135 cn_trc (2:jp_bdy) = cn_trc (1) … … 137 137 REWIND( numnat_cfg ) ! Namelist namtrc_bdy in configuration namelist : Passive tracer data structure 138 138 READ ( numnat_cfg, namtrc_bdy, IOSTAT = ios, ERR = 904 ) 139 904 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtrc_bdy in configuration namelist' , lwp)139 904 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtrc_bdy in configuration namelist' ) 140 140 IF(lwm) WRITE ( numont, namtrc_bdy ) 141 141 -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/TOP/trcdta.F90
r10222 r11317 100 100 REWIND( numnat_ref ) ! Namelist namtrc_dta in reference namelist : Passive tracer input data 101 101 READ ( numnat_ref, namtrc_dta, IOSTAT = ios, ERR = 901) 102 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_dta_ini in reference namelist' , lwp)102 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_dta_ini in reference namelist' ) 103 103 REWIND( numnat_cfg ) ! Namelist namtrc_dta in configuration namelist : Passive tracer input data 104 104 READ ( numnat_cfg, namtrc_dta, IOSTAT = ios, ERR = 902 ) 105 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtrc_dta_ini in configuration namelist' , lwp)105 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtrc_dta_ini in configuration namelist' ) 106 106 IF(lwm) WRITE ( numont, namtrc_dta ) 107 107 -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/TOP/trcice.F90
r10069 r11317 87 87 REWIND( numnat_ref ) ! Namelist namtrc_ice in reference namelist : Passive tracer input data 88 88 READ ( numnat_ref, namtrc_ice, IOSTAT = ios, ERR = 901) 89 901 IF( ios /= 0 ) CALL ctl_nam ( ios , ' namtrc_ice in reference namelist ' , lwp)89 901 IF( ios /= 0 ) CALL ctl_nam ( ios , ' namtrc_ice in reference namelist ' ) 90 90 REWIND( numnat_cfg ) ! Namelist namtrc_ice in configuration namelist : Pisces external sources of nutrients 91 91 READ ( numnat_cfg, namtrc_ice, IOSTAT = ios, ERR = 902 ) 92 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtrc_ice in configuration namelist' , lwp)92 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtrc_ice in configuration namelist' ) 93 93 94 94 IF( lwp ) THEN -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/TOP/trcnam.F90
r10425 r11317 114 114 REWIND( numnat_ref ) ! Namelist namtrc in reference namelist : Passive tracer variables 115 115 READ ( numnat_ref, namtrc_run, IOSTAT = ios, ERR = 901) 116 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc in reference namelist' , lwp)116 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc in reference namelist' ) 117 117 REWIND( numnat_cfg ) ! Namelist namtrc in configuration namelist : Passive tracer variables 118 118 READ ( numnat_cfg, namtrc_run, IOSTAT = ios, ERR = 902 ) 119 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtrc in configuration namelist' , lwp)119 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtrc in configuration namelist' ) 120 120 IF(lwm) WRITE( numont, namtrc_run ) 121 121 … … 160 160 REWIND( numnat_ref ) ! Namelist namtrc in reference namelist : Passive tracer variables 161 161 READ ( numnat_ref, namtrc, IOSTAT = ios, ERR = 901) 162 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc in reference namelist' , lwp)162 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc in reference namelist' ) 163 163 REWIND( numnat_cfg ) ! Namelist namtrc in configuration namelist : Passive tracer variables 164 164 READ ( numnat_cfg, namtrc, IOSTAT = ios, ERR = 902 ) 165 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtrc in configuration namelist' , lwp)165 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtrc in configuration namelist' ) 166 166 IF(lwm) WRITE( numont, namtrc ) 167 167 … … 263 263 REWIND( numnat_ref ) ! Namelist namtrc_trd in reference namelist : Passive tracer trends 264 264 READ ( numnat_ref, namtrc_trd, IOSTAT = ios, ERR = 905) 265 905 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_trd in reference namelist' , lwp)265 905 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_trd in reference namelist' ) 266 266 REWIND( numnat_cfg ) ! Namelist namtrc_trd in configuration namelist : Passive tracer trends 267 267 READ ( numnat_cfg, namtrc_trd, IOSTAT = ios, ERR = 906 ) 268 906 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtrc_trd in configuration namelist' , lwp)268 906 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtrc_trd in configuration namelist' ) 269 269 IF(lwm) WRITE( numont, namtrc_trd ) 270 270 -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/tests/BENCH/MY_SRC/usrdef_nam.F90
r10428 r11317 29 29 CONTAINS 30 30 31 SUBROUTINE usr_def_nam( ldtxt, ldnam,cd_cfg, kk_cfg, kpi, kpj, kpk, kperio )31 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, kperio ) 32 32 !!---------------------------------------------------------------------- 33 33 !! *** ROUTINE dom_nam *** … … 41 41 !! ** input : - namusr_def namelist found in namelist_cfg 42 42 !!---------------------------------------------------------------------- 43 CHARACTER(len=*), DIMENSION(:), INTENT(out) :: ldtxt, ldnam ! stored print information44 43 CHARACTER(len=*) , INTENT(out) :: cd_cfg ! configuration name 45 44 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution … … 48 47 ! 49 48 ! 50 INTEGER :: ios , ii! Local integer49 INTEGER :: ios ! Local integer 51 50 ! !!* namusr_def namelist *!! 52 51 INTEGER :: nn_isize ! number of point in i-direction of global(local) domain if >0 (<0) … … 55 54 INTEGER :: nn_perio ! periodicity 56 55 ! !!* nammpp namelist *!! 57 CHARACTER(len=1) :: cn_mpi_send 58 INTEGER :: nn_buffer, jpni, jpnj 56 INTEGER :: jpni, jpnj 59 57 LOGICAL :: ln_nnogather 60 58 !! 61 59 NAMELIST/namusr_def/ nn_isize, nn_jsize, nn_ksize, nn_perio 62 NAMELIST/nammpp/ cn_mpi_send, nn_buffer,jpni, jpnj, ln_nnogather60 NAMELIST/nammpp/ jpni, jpnj, ln_nnogather 63 61 !!---------------------------------------------------------------------- 64 62 ! 65 63 REWIND( numnam_cfg ) ! Namelist namusr_def (exist in namelist_cfg only) 66 64 READ ( numnam_cfg, namusr_def, IOSTAT = ios, ERR = 903 ) 67 903 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namusr_def in configuration namelist', .TRUE. ) 68 WRITE( ldnam(:), namusr_def ) 65 903 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namusr_def in configuration namelist' ) 66 ! 67 WRITE( numond, namusr_def ) 69 68 ! 70 69 cd_cfg = 'BENCH' ! name & resolution (not used) … … 75 74 REWIND( numnam_ref ) ! Namelist nammpp in reference namelist: mpi variables 76 75 READ ( numnam_ref, nammpp, IOSTAT = ios, ERR = 901) 77 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nammpp in reference namelist' , lwp)76 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nammpp in reference namelist' ) 78 77 ! 79 78 REWIND( numnam_cfg ) ! Namelist nammpp in configuration namelist: mpi variables 80 79 READ ( numnam_cfg, nammpp, IOSTAT = ios, ERR = 902 ) 81 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nammpp in configuration namelist' , lwp)80 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nammpp in configuration namelist' ) 82 81 83 82 kpi = ( -nn_isize - 2*nn_hls ) * jpni + 2*nn_hls … … 92 91 93 92 ! ! control print 94 ii = 1 95 WRITE(ldtxt(ii),*) ' ' ; ii = ii + 1 96 WRITE(ldtxt(ii),*) 'usr_def_nam : read the user defined namelist (namusr_def) in namelist_cfg' ; ii = ii + 1 97 WRITE(ldtxt(ii),*) '~~~~~~~~~~~ ' ; ii = ii + 1 98 WRITE(ldtxt(ii),*) ' Namelist namusr_def : BENCH test case' ; ii = ii + 1 93 WRITE(numout,*) ' ' 94 WRITE(numout,*) 'usr_def_nam : read the user defined namelist (namusr_def) in namelist_cfg' 95 WRITE(numout,*) '~~~~~~~~~~~ ' 96 WRITE(numout,*) ' Namelist namusr_def : BENCH test case' 99 97 IF( nn_isize > 0 ) THEN 100 WRITE( ldtxt(ii),*) ' global domain size-x nn_isize = ', nn_isize ; ii = ii + 198 WRITE(numout,*) ' global domain size-x nn_isize = ', nn_isize 101 99 ELSE 102 WRITE( ldtxt(ii),*) ' jpni = ', jpni ; ii = ii + 1103 WRITE( ldtxt(ii),*) ' local domain size-x -nn_isize = ', -nn_isize ; ii = ii + 1104 WRITE( ldtxt(ii),*) ' global domain size-x kpi = ', kpi ; ii = ii + 1100 WRITE(numout,*) ' jpni = ', jpni 101 WRITE(numout,*) ' local domain size-x -nn_isize = ', -nn_isize 102 WRITE(numout,*) ' global domain size-x kpi = ', kpi 105 103 ENDIF 106 104 IF( nn_jsize > 0 ) THEN 107 WRITE( ldtxt(ii),*) ' global domain size-y nn_jsize = ', nn_jsize ; ii = ii + 1105 WRITE(numout,*) ' global domain size-y nn_jsize = ', nn_jsize 108 106 ELSE 109 WRITE( ldtxt(ii),*) ' jpnj = ', jpnj ; ii = ii + 1110 WRITE( ldtxt(ii),*) ' local domain size-y -nn_jsize = ', -nn_jsize ; ii = ii + 1111 WRITE( ldtxt(ii),*) ' global domain size-y kpj = ', kpj ; ii = ii + 1107 WRITE(numout,*) ' jpnj = ', jpnj 108 WRITE(numout,*) ' local domain size-y -nn_jsize = ', -nn_jsize 109 WRITE(numout,*) ' global domain size-y kpj = ', kpj 112 110 ENDIF 113 WRITE( ldtxt(ii),*) ' global domain size-z nn_ksize = ', nn_ksize ; ii = ii + 1114 WRITE( ldtxt(ii),*) ' LBC of the global domain kperio = ', kperio ; ii = ii + 1111 WRITE(numout,*) ' global domain size-z nn_ksize = ', nn_ksize 112 WRITE(numout,*) ' LBC of the global domain kperio = ', kperio 115 113 ! 116 114 END SUBROUTINE usr_def_nam -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/tests/BENCH/MY_SRC/zdfiwm.F90
r10420 r11317 406 406 REWIND( numnam_ref ) ! Namelist namzdf_iwm in reference namelist : Wave-driven mixing 407 407 READ ( numnam_ref, namzdf_iwm, IOSTAT = ios, ERR = 901) 408 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_iwm in reference namelist' , lwp)408 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_iwm in reference namelist' ) 409 409 ! 410 410 REWIND( numnam_cfg ) ! Namelist namzdf_iwm in configuration namelist : Wave-driven mixing 411 411 READ ( numnam_cfg, namzdf_iwm, IOSTAT = ios, ERR = 902 ) 412 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namzdf_iwm in configuration namelist' , lwp)412 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namzdf_iwm in configuration namelist' ) 413 413 IF(lwm) WRITE ( numond, namzdf_iwm ) 414 414 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/tests/CANAL/MY_SRC/domvvl.F90
r10425 r11317 994 994 REWIND( numnam_ref ) ! Namelist nam_vvl in reference namelist : 995 995 READ ( numnam_ref, nam_vvl, IOSTAT = ios, ERR = 901) 996 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_vvl in reference namelist' , lwp)996 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_vvl in reference namelist' ) 997 997 REWIND( numnam_cfg ) ! Namelist nam_vvl in configuration namelist : Parameters of the run 998 998 READ ( numnam_cfg, nam_vvl, IOSTAT = ios, ERR = 902 ) 999 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nam_vvl in configuration namelist' , lwp)999 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nam_vvl in configuration namelist' ) 1000 1000 IF(lwm) WRITE ( numond, nam_vvl ) 1001 1001 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/tests/CANAL/MY_SRC/usrdef_nam.F90
r10074 r11317 58 58 CONTAINS 59 59 60 SUBROUTINE usr_def_nam( ldtxt, ldnam,cd_cfg, kk_cfg, kpi, kpj, kpk, kperio )60 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, kperio ) 61 61 !!---------------------------------------------------------------------- 62 62 !! *** ROUTINE dom_nam *** … … 70 70 !! ** input : - namusr_def namelist found in namelist_cfg 71 71 !!---------------------------------------------------------------------- 72 CHARACTER(len=*), DIMENSION(:), INTENT(out) :: ldtxt, ldnam ! stored print information73 72 CHARACTER(len=*) , INTENT(out) :: cd_cfg ! configuration name 74 73 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution … … 76 75 INTEGER , INTENT(out) :: kperio ! lateral global domain b.c. 77 76 ! 78 INTEGER :: ios , ii! Local integer79 REAL(wp):: zh ! Local scalars77 INTEGER :: ios ! Local integer 78 REAL(wp):: zh ! Local scalars 80 79 !! 81 80 NAMELIST/namusr_def/ rn_domszx, rn_domszy, rn_domszz, rn_dx, rn_dy, rn_dz, rn_0xratio, rn_0yratio & … … 85 84 !!---------------------------------------------------------------------- 86 85 ! 87 ii = 188 !89 86 REWIND( numnam_cfg ) ! Namelist namusr_def (exist in namelist_cfg only) 90 87 READ ( numnam_cfg, namusr_def, IOSTAT = ios, ERR = 902 ) 91 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namusr_def in configuration namelist', .TRUE. ) 88 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namusr_def in configuration namelist', cdtxt ) 89 ! 90 WRITE( numond, namusr_def ) 92 91 ! 93 92 #if defined key_agrif … … 103 102 #endif 104 103 ! 105 WRITE( ldnam(:), namusr_def )104 WRITE( numond, namusr_def ) 106 105 ! 107 106 cd_cfg = 'EW_CANAL' ! name & resolution (not used) … … 121 120 zh = (kpk-1)*rn_dz 122 121 ! ! control print 123 WRITE( ldtxt(ii),*) ' ' ; ii = ii + 1124 WRITE( ldtxt(ii),*) 'usr_def_nam : read the user defined namelist (namusr_def) in namelist_cfg' ; ii = ii + 1125 WRITE( ldtxt(ii),*) '~~~~~~~~~~~ ' ; ii = ii + 1126 WRITE( ldtxt(ii),*) ' Namelist namusr_def : EW_CANAL test case' ; ii = ii + 1127 WRITE( ldtxt(ii),*) ' horizontal domain size-x rn_domszx = ', rn_domszx, ' km' ; ii = ii + 1128 WRITE( ldtxt(ii),*) ' horizontal domain size-y rn_domszy = ', rn_domszy, ' km' ; ii = ii + 1129 WRITE( ldtxt(ii),*) ' vertical domain size-z rn_domszz = ', rn_domszz, ' m' ; ii = ii + 1130 WRITE( ldtxt(ii),*) ' horizontal x-resolution rn_dx = ', rn_dx, ' km' ; ii = ii + 1131 WRITE( ldtxt(ii),*) ' horizontal y-resolution rn_dy = ', rn_dy, ' km' ; ii = ii + 1132 WRITE( ldtxt(ii),*) ' vertical resolution rn_dz = ', rn_dz, ' m' ; ii = ii + 1133 WRITE( ldtxt(ii),*) ' x-domain ratio of the 0 rn_0xratio = ', rn_0xratio ; ii = ii + 1134 WRITE( ldtxt(ii),*) ' y-domain ratio of the 0 rn_0yratio = ', rn_0yratio ; ii = ii + 1135 WRITE( ldtxt(ii),*) ' H [m] : ', zh ; ii = ii + 1136 WRITE( ldtxt(ii),*) ' F computation nn_fcase = ', nn_fcase ; ii = ii + 1137 WRITE( ldtxt(ii),*) ' Reference latitude rn_ppgphi0 = ', rn_ppgphi0 ; ii = ii + 1138 WRITE( ldtxt(ii),*) ' 10m wind speed rn_u10 = ', rn_u10, ' m/s' ; ii = ii + 1139 WRITE( ldtxt(ii),*) ' wind latitudinal extension rn_windszy = ', rn_windszy, ' km' ; ii = ii + 1140 WRITE( ldtxt(ii),*) ' wind longitudinal extension rn_windszx = ', rn_windszx, ' km' ; ii = ii + 1141 WRITE( ldtxt(ii),*) ' Uoce multiplicative factor rn_uofac = ', rn_uofac ; ii = ii + 1142 WRITE( ldtxt(ii),*) ' initial Canal max current rn_vtxmax = ', rn_vtxmax, ' m/s' ; ii = ii + 1143 WRITE( ldtxt(ii),*) ' initial zonal current rn_uzonal = ', rn_uzonal, ' m/s' ; ii = ii + 1144 WRITE( ldtxt(ii),*) ' Jet latitudinal extension rn_ujetszy = ', rn_ujetszy, ' km' ; ii = ii + 1145 WRITE( ldtxt(ii),*) ' Jet longitudinal extension rn_ujetszx = ', rn_ujetszx, ' km' ; ii = ii + 1146 WRITE( ldtxt(ii),*) ' bottom definition (0:flat) nn_botcase = ', nn_botcase ; ii = ii + 1147 WRITE( ldtxt(ii),*) ' initial condition case nn_initcase= ', nn_initcase ; ii = ii + 1148 WRITE( ldtxt(ii),*) ' (0:rest, 1:zonal current, 10:shear)' ; ii = ii + 1149 WRITE( ldtxt(ii),*) ' add random noise on initial ssh ln_sshnoise= ', ln_sshnoise ; ii = ii + 1150 WRITE( ldtxt(ii),*) ' Gaussian lambda parameter rn_lambda = ', rn_lambda ; ii = ii + 1122 WRITE(numout,*) ' ' 123 WRITE(numout,*) 'usr_def_nam : read the user defined namelist (namusr_def) in namelist_cfg' 124 WRITE(numout,*) '~~~~~~~~~~~ ' 125 WRITE(numout,*) ' Namelist namusr_def : EW_CANAL test case' 126 WRITE(numout,*) ' horizontal domain size-x rn_domszx = ', rn_domszx, ' km' 127 WRITE(numout,*) ' horizontal domain size-y rn_domszy = ', rn_domszy, ' km' 128 WRITE(numout,*) ' vertical domain size-z rn_domszz = ', rn_domszz, ' m' 129 WRITE(numout,*) ' horizontal x-resolution rn_dx = ', rn_dx, ' km' 130 WRITE(numout,*) ' horizontal y-resolution rn_dy = ', rn_dy, ' km' 131 WRITE(numout,*) ' vertical resolution rn_dz = ', rn_dz, ' m' 132 WRITE(numout,*) ' x-domain ratio of the 0 rn_0xratio = ', rn_0xratio 133 WRITE(numout,*) ' y-domain ratio of the 0 rn_0yratio = ', rn_0yratio 134 WRITE(numout,*) ' H [m] : ', zh 135 WRITE(numout,*) ' F computation nn_fcase = ', nn_fcase 136 WRITE(numout,*) ' Reference latitude rn_ppgphi0 = ', rn_ppgphi0 137 WRITE(numout,*) ' 10m wind speed rn_u10 = ', rn_u10, ' m/s' 138 WRITE(numout,*) ' wind latitudinal extension rn_windszy = ', rn_windszy, ' km' 139 WRITE(numout,*) ' wind longitudinal extension rn_windszx = ', rn_windszx, ' km' 140 WRITE(numout,*) ' Uoce multiplicative factor rn_uofac = ', rn_uofac 141 WRITE(numout,*) ' initial Canal max current rn_vtxmax = ', rn_vtxmax, ' m/s' 142 WRITE(numout,*) ' initial zonal current rn_uzonal = ', rn_uzonal, ' m/s' 143 WRITE(numout,*) ' Jet latitudinal extension rn_ujetszy = ', rn_ujetszy, ' km' 144 WRITE(numout,*) ' Jet longitudinal extension rn_ujetszx = ', rn_ujetszx, ' km' 145 WRITE(numout,*) ' bottom definition (0:flat) nn_botcase = ', nn_botcase 146 WRITE(numout,*) ' initial condition case nn_initcase= ', nn_initcase 147 WRITE(numout,*) ' (0:rest, 1:zonal current, 10:shear)' 148 WRITE(numout,*) ' add random noise on initial ssh ln_sshnoise= ', ln_sshnoise 149 WRITE(numout,*) ' Gaussian lambda parameter rn_lambda = ', rn_lambda 151 150 ! 152 151 ! ! Set the lateral boundary condition of the global domain 153 152 kperio = 1 ! EW_CANAL configuration : closed basin 154 153 ! 155 WRITE( ldtxt(ii),*) ' ' ; ii = ii + 1156 WRITE( ldtxt(ii),*) ' Lateral boundary condition of the global domain' ; ii = ii + 1157 WRITE( ldtxt(ii),*) ' EW_CANAL : closed basin jperio = ', kperio ; ii = ii + 1154 WRITE(numout,*) ' ' 155 WRITE(numout,*) ' Lateral boundary condition of the global domain' 156 WRITE(numout,*) ' EW_CANAL : closed basin jperio = ', kperio 158 157 ! 159 158 END SUBROUTINE usr_def_nam -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/tests/ICE_ADV1D/MY_SRC/usrdef_nam.F90
r10513 r11317 40 40 CONTAINS 41 41 42 SUBROUTINE usr_def_nam( ldtxt, ldnam,cd_cfg, kk_cfg, kpi, kpj, kpk, kperio )42 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, kperio ) 43 43 !!---------------------------------------------------------------------- 44 44 !! *** ROUTINE dom_nam *** … … 52 52 !! ** input : - namusr_def namelist found in namelist_cfg 53 53 !!---------------------------------------------------------------------- 54 CHARACTER(len=*), DIMENSION(:), INTENT(out) :: ldtxt, ldnam ! stored print information55 54 CHARACTER(len=*) , INTENT(out) :: cd_cfg ! configuration name 56 55 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution … … 58 57 INTEGER , INTENT(out) :: kperio ! lateral global domain b.c. 59 58 ! 60 INTEGER :: ios , ii! Local integer59 INTEGER :: ios ! Local integer 61 60 REAL(wp):: zlx, zly ! Local scalars 62 61 !! … … 64 63 !!---------------------------------------------------------------------- 65 64 ! 66 ii = 167 !68 65 REWIND( numnam_cfg ) ! Namelist namusr_def (exist in namelist_cfg only) 69 66 READ ( numnam_cfg, namusr_def, IOSTAT = ios, ERR = 902 ) 70 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namusr_def in configuration namelist' , .TRUE.)67 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namusr_def in configuration namelist' ) 71 68 ! 72 WRITE( ldnam(:), namusr_def )69 WRITE( numond, namusr_def ) 73 70 ! 74 71 cd_cfg = 'ICE_ADV1D' ! name & resolution (not used) … … 83 80 zly = kpj*rn_dy*1.e-3 84 81 ! ! control print 85 WRITE( ldtxt(ii),*) ' ' ; ii = ii + 186 WRITE( ldtxt(ii),*) 'usr_def_nam : read the user defined namelist (namusr_def) in namelist_cfg' ; ii = ii + 187 WRITE( ldtxt(ii),*) '~~~~~~~~~~~ ' ; ii = ii + 188 WRITE( ldtxt(ii),*) ' Namelist namusr_def : ICE_ADV1D test case' ; ii = ii + 189 WRITE( ldtxt(ii),*) ' horizontal resolution rn_dx = ', rn_dx, ' meters' ; ii = ii + 190 WRITE( ldtxt(ii),*) ' horizontal resolution rn_dy = ', rn_dy, ' meters' ; ii = ii + 191 WRITE( ldtxt(ii),*) ' ICE_ADV1D domain ' ; ii = ii + 192 WRITE( ldtxt(ii),*) ' LX [km]: ', zlx ; ii = ii + 193 WRITE( ldtxt(ii),*) ' LY [km]: ', zly ; ii = ii + 194 WRITE( ldtxt(ii),*) ' resulting global domain size : jpiglo = ', kpi ; ii = ii + 195 WRITE( ldtxt(ii),*) ' jpjglo = ', kpj ; ii = ii + 196 WRITE( ldtxt(ii),*) ' jpkglo = ', kpk ; ii = ii + 197 WRITE( ldtxt(ii),*) ' Coriolis:', ln_corio ; ii = ii + 182 WRITE(numout,*) ' ' 83 WRITE(numout,*) 'usr_def_nam : read the user defined namelist (namusr_def) in namelist_cfg' 84 WRITE(numout,*) '~~~~~~~~~~~ ' 85 WRITE(numout,*) ' Namelist namusr_def : ICE_ADV1D test case' 86 WRITE(numout,*) ' horizontal resolution rn_dx = ', rn_dx, ' meters' 87 WRITE(numout,*) ' horizontal resolution rn_dy = ', rn_dy, ' meters' 88 WRITE(numout,*) ' ICE_ADV1D domain ' 89 WRITE(numout,*) ' LX [km]: ', zlx 90 WRITE(numout,*) ' LY [km]: ', zly 91 WRITE(numout,*) ' resulting global domain size : jpiglo = ', kpi 92 WRITE(numout,*) ' jpjglo = ', kpj 93 WRITE(numout,*) ' jpkglo = ', kpk 94 WRITE(numout,*) ' Coriolis:', ln_corio 98 95 ! 99 96 ! ! Set the lateral boundary condition of the global domain 100 97 kperio = 0 ! ICE_ADV1D configuration : bi-periodic basin 101 98 ! 102 WRITE( ldtxt(ii),*) ' ' ; ii = ii + 1103 WRITE( ldtxt(ii),*) ' Lateral boundary condition of the global domain' ; ii = ii + 1104 WRITE( ldtxt(ii),*) ' ICE_ADV1D : closed basin jperio = ', kperio ; ii = ii + 199 WRITE(numout,*) ' ' 100 WRITE(numout,*) ' Lateral boundary condition of the global domain' 101 WRITE(numout,*) ' ICE_ADV1D : closed basin jperio = ', kperio 105 102 ! 106 103 END SUBROUTINE usr_def_nam -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/tests/ICE_ADV2D/MY_SRC/usrdef_nam.F90
r10515 r11317 40 40 CONTAINS 41 41 42 SUBROUTINE usr_def_nam( ldtxt, ldnam,cd_cfg, kk_cfg, kpi, kpj, kpk, kperio )42 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, kperio ) 43 43 !!---------------------------------------------------------------------- 44 44 !! *** ROUTINE dom_nam *** … … 52 52 !! ** input : - namusr_def namelist found in namelist_cfg 53 53 !!---------------------------------------------------------------------- 54 CHARACTER(len=*), DIMENSION(:), INTENT(out) :: ldtxt, ldnam ! stored print information55 54 CHARACTER(len=*) , INTENT(out) :: cd_cfg ! configuration name 56 55 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution … … 58 57 INTEGER , INTENT(out) :: kperio ! lateral global domain b.c. 59 58 ! 60 INTEGER :: ios , ii! Local integer59 INTEGER :: ios ! Local integer 61 60 REAL(wp):: zlx, zly ! Local scalars 62 61 !! … … 64 63 !!---------------------------------------------------------------------- 65 64 ! 66 ii = 167 !68 65 REWIND( numnam_cfg ) ! Namelist namusr_def (exist in namelist_cfg only) 69 66 READ ( numnam_cfg, namusr_def, IOSTAT = ios, ERR = 902 ) 70 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namusr_def in configuration namelist', .TRUE. ) 67 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namusr_def in configuration namelist' ) 68 ! 69 WRITE( numond, namusr_def ) 71 70 ! 72 71 #if defined key_agrif … … 79 78 #endif 80 79 ! 81 WRITE( ldnam(:), namusr_def )80 WRITE( numond, namusr_def ) 82 81 ! 83 82 cd_cfg = 'ICE_ADV2D' ! name & resolution (not used) … … 100 99 zly = kpj*rn_dy*1.e-3 101 100 ! ! control print 102 WRITE( ldtxt(ii),*) ' ' ; ii = ii + 1103 WRITE( ldtxt(ii),*) 'usr_def_nam : read the user defined namelist (namusr_def) in namelist_cfg' ; ii = ii + 1104 WRITE( ldtxt(ii),*) '~~~~~~~~~~~ ' ; ii = ii + 1105 WRITE( ldtxt(ii),*) ' Namelist namusr_def : ICE_ADV2D test case' ; ii = ii + 1106 WRITE( ldtxt(ii),*) ' horizontal resolution rn_dx = ', rn_dx, ' meters' ; ii = ii + 1107 WRITE( ldtxt(ii),*) ' horizontal resolution rn_dy = ', rn_dy, ' meters' ; ii = ii + 1108 WRITE( ldtxt(ii),*) ' ICE_ADV2D domain = 300 km x 300Km x 1 grid-point ' ; ii = ii + 1109 WRITE( ldtxt(ii),*) ' LX [km]: ', zlx ; ii = ii + 1110 WRITE( ldtxt(ii),*) ' LY [km]: ', zly ; ii = ii + 1111 WRITE( ldtxt(ii),*) ' resulting global domain size : jpiglo = ', kpi ; ii = ii + 1112 WRITE( ldtxt(ii),*) ' jpjglo = ', kpj ; ii = ii + 1113 WRITE( ldtxt(ii),*) ' jpkglo = ', kpk ; ii = ii + 1114 WRITE( ldtxt(ii),*) ' Coriolis:', ln_corio ; ii = ii + 1101 WRITE(numout,*) ' ' 102 WRITE(numout,*) 'usr_def_nam : read the user defined namelist (namusr_def) in namelist_cfg' 103 WRITE(numout,*) '~~~~~~~~~~~ ' 104 WRITE(numout,*) ' Namelist namusr_def : ICE_ADV2D test case' 105 WRITE(numout,*) ' horizontal resolution rn_dx = ', rn_dx, ' meters' 106 WRITE(numout,*) ' horizontal resolution rn_dy = ', rn_dy, ' meters' 107 WRITE(numout,*) ' ICE_ADV2D domain = 300 km x 300Km x 1 grid-point ' 108 WRITE(numout,*) ' LX [km]: ', zlx 109 WRITE(numout,*) ' LY [km]: ', zly 110 WRITE(numout,*) ' resulting global domain size : jpiglo = ', kpi 111 WRITE(numout,*) ' jpjglo = ', kpj 112 WRITE(numout,*) ' jpkglo = ', kpk 113 WRITE(numout,*) ' Coriolis:', ln_corio 115 114 ! 116 115 ! ! Set the lateral boundary condition of the global domain … … 122 121 #endif 123 122 ! 124 WRITE( ldtxt(ii),*) ' ' ; ii = ii + 1125 WRITE( ldtxt(ii),*) ' Lateral boundary condition of the global domain' ; ii = ii + 1126 WRITE( ldtxt(ii),*) ' ICE_ADV2D : bi-periodic basin jperio = ', kperio ; ii = ii + 1123 WRITE(numout,*) ' ' 124 WRITE(numout,*) ' Lateral boundary condition of the global domain' 125 WRITE(numout,*) ' ICE_ADV2D : bi-periodic basin jperio = ', kperio 127 126 ! 128 127 END SUBROUTINE usr_def_nam -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/tests/ICE_AGRIF/MY_SRC/usrdef_nam.F90
r10516 r11317 40 40 CONTAINS 41 41 42 SUBROUTINE usr_def_nam( ldtxt, ldnam,cd_cfg, kk_cfg, kpi, kpj, kpk, kperio )42 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, kperio ) 43 43 !!---------------------------------------------------------------------- 44 44 !! *** ROUTINE dom_nam *** … … 52 52 !! ** input : - namusr_def namelist found in namelist_cfg 53 53 !!---------------------------------------------------------------------- 54 CHARACTER(len=*), DIMENSION(:), INTENT(out) :: ldtxt, ldnam ! stored print information55 54 CHARACTER(len=*) , INTENT(out) :: cd_cfg ! configuration name 56 55 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution … … 58 57 INTEGER , INTENT(out) :: kperio ! lateral global domain b.c. 59 58 ! 60 INTEGER :: ios , ii! Local integer59 INTEGER :: ios ! Local integer 61 60 REAL(wp):: zlx, zly ! Local scalars 62 61 !! … … 64 63 !!---------------------------------------------------------------------- 65 64 ! 66 ii = 167 !68 65 REWIND( numnam_cfg ) ! Namelist namusr_def (exist in namelist_cfg only) 69 66 READ ( numnam_cfg, namusr_def, IOSTAT = ios, ERR = 902 ) 70 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namusr_def in configuration namelist', .TRUE. ) 67 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namusr_def in configuration namelist' ) 68 ! 69 WRITE( numond, namusr_def ) 71 70 ! 72 71 #if defined key_agrif … … 79 78 #endif 80 79 ! 81 WRITE( ldnam(:), namusr_def )80 WRITE( numond, namusr_def ) 82 81 ! 83 82 cd_cfg = 'ICE_AGRIF' ! name & resolution (not used) … … 100 99 zly = kpj*rn_dy*1.e-3 101 100 ! ! control print 102 WRITE( ldtxt(ii),*) ' ' ; ii = ii + 1103 WRITE( ldtxt(ii),*) 'usr_def_nam : read the user defined namelist (namusr_def) in namelist_cfg' ; ii = ii + 1104 WRITE( ldtxt(ii),*) '~~~~~~~~~~~ ' ; ii = ii + 1105 WRITE( ldtxt(ii),*) ' Namelist namusr_def : ICE_AGRIF test case' ; ii = ii + 1106 WRITE( ldtxt(ii),*) ' horizontal resolution rn_dx = ', rn_dx, ' meters' ; ii = ii + 1107 WRITE( ldtxt(ii),*) ' horizontal resolution rn_dy = ', rn_dy, ' meters' ; ii = ii + 1108 WRITE( ldtxt(ii),*) ' ICE_AGRIF domain = 300 km x 300Km x 1 grid-point ' ; ii = ii + 1109 WRITE( ldtxt(ii),*) ' LX [km]: ', zlx ; ii = ii + 1110 WRITE( ldtxt(ii),*) ' LY [km]: ', zly ; ii = ii + 1111 WRITE( ldtxt(ii),*) ' resulting global domain size : jpiglo = ', kpi ; ii = ii + 1112 WRITE( ldtxt(ii),*) ' jpjglo = ', kpj ; ii = ii + 1113 WRITE( ldtxt(ii),*) ' jpkglo = ', kpk ; ii = ii + 1114 WRITE( ldtxt(ii),*) ' Coriolis:', ln_corio ; ii = ii + 1101 WRITE(numout,*) ' ' 102 WRITE(numout,*) 'usr_def_nam : read the user defined namelist (namusr_def) in namelist_cfg' 103 WRITE(numout,*) '~~~~~~~~~~~ ' 104 WRITE(numout,*) ' Namelist namusr_def : ICE_AGRIF test case' 105 WRITE(numout,*) ' horizontal resolution rn_dx = ', rn_dx, ' meters' 106 WRITE(numout,*) ' horizontal resolution rn_dy = ', rn_dy, ' meters' 107 WRITE(numout,*) ' ICE_AGRIF domain = 300 km x 300Km x 1 grid-point ' 108 WRITE(numout,*) ' LX [km]: ', zlx 109 WRITE(numout,*) ' LY [km]: ', zly 110 WRITE(numout,*) ' resulting global domain size : jpiglo = ', kpi 111 WRITE(numout,*) ' jpjglo = ', kpj 112 WRITE(numout,*) ' jpkglo = ', kpk 113 WRITE(numout,*) ' Coriolis:', ln_corio 115 114 ! 116 115 ! ! Set the lateral boundary condition of the global domain … … 122 121 #endif 123 122 ! 124 WRITE( ldtxt(ii),*) ' ' ; ii = ii + 1125 WRITE( ldtxt(ii),*) ' Lateral boundary condition of the global domain' ; ii = ii + 1126 WRITE( ldtxt(ii),*) ' ICE_AGRIF : bi-periodic basin jperio = ', kperio ; ii = ii + 1123 WRITE(numout,*) ' ' 124 WRITE(numout,*) ' Lateral boundary condition of the global domain' 125 WRITE(numout,*) ' ICE_AGRIF : bi-periodic basin jperio = ', kperio 127 126 ! 128 127 END SUBROUTINE usr_def_nam -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/tests/ISOMIP/MY_SRC/usrdef_nam.F90
r10074 r11317 42 42 CONTAINS 43 43 44 SUBROUTINE usr_def_nam( ldtxt, ldnam,cd_cfg, kk_cfg, kpi, kpj, kpk, kperio )44 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, kperio ) 45 45 !!---------------------------------------------------------------------- 46 46 !! *** ROUTINE dom_nam *** … … 54 54 !! ** input : - namusr_def namelist found in namelist_cfg 55 55 !!---------------------------------------------------------------------- 56 CHARACTER(len=*), DIMENSION(:), INTENT(out) :: ldtxt, ldnam ! stored print information57 56 CHARACTER(len=*) , INTENT(out) :: cd_cfg ! configuration name 58 57 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution … … 60 59 INTEGER , INTENT(out) :: kperio ! lateral global domain b.c. 61 60 ! 62 INTEGER :: ios , ii! Local integer61 INTEGER :: ios ! Local integer 63 62 !! 64 63 NAMELIST/namusr_def/ ln_zco, ln_zps, ln_sco, rn_e1deg, rn_e2deg, rn_e3 65 64 !!---------------------------------------------------------------------- 66 65 ! 67 ii = 168 !69 66 REWIND( numnam_cfg ) ! Namelist namusr_def (exist in namelist_cfg only) 70 67 READ ( numnam_cfg, namusr_def, IOSTAT = ios, ERR = 902 ) 71 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namusr_def in configuration namelist' , .TRUE.)68 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namusr_def in configuration namelist' ) 72 69 ! 73 WRITE( ldnam(:), namusr_def )70 WRITE( numond, namusr_def ) 74 71 ! 75 72 cd_cfg = 'ISOMIP' ! name & resolution (not used) … … 82 79 ! 83 80 ! ! control print 84 WRITE( ldtxt(ii),*) ' ' ; ii = ii + 185 WRITE( ldtxt(ii),*) 'usr_def_nam : read the user defined namelist (namusr_def) in namelist_cfg' ; ii = ii + 186 WRITE( ldtxt(ii),*) '~~~~~~~~~~~ ' ; ii = ii + 187 WRITE( ldtxt(ii),*) ' Namelist namusr_def : ISOMIP test case' ; ii = ii + 188 WRITE( ldtxt(ii),*) ' type of vertical coordinate : ' ; ii = ii + 189 WRITE( ldtxt(ii),*) ' z-coordinate flag ln_zco = ', ln_zco ; ii = ii + 190 WRITE( ldtxt(ii),*) ' z-partial-step coordinate flag ln_zps = ', ln_zps ; ii = ii + 191 WRITE( ldtxt(ii),*) ' s-coordinate flag ln_sco = ', ln_sco ; ii = ii + 192 WRITE( ldtxt(ii),*) ' resolution' ; ii = ii + 193 WRITE( ldtxt(ii),*) ' zonal resolution rn_e1deg = ', rn_e1deg, ' degrees' ; ii = ii + 194 WRITE( ldtxt(ii),*) ' meridional resolution rn_e1deg = ', rn_e1deg, ' degrees' ; ii = ii + 195 WRITE( ldtxt(ii),*) ' vertical resolution rn_e3 = ', rn_e3 , ' meters' ; ii = ii + 196 WRITE( ldtxt(ii),*) ' ISOMIP domain = 15° x 10° x 900 m' ; ii = ii + 197 WRITE( ldtxt(ii),*) ' resulting global domain size : jpiglo = ', kpi ; ii = ii + 198 WRITE( ldtxt(ii),*) ' jpjglo = ', kpj ; ii = ii + 199 WRITE( ldtxt(ii),*) ' jpkglo = ', kpk ; ii = ii + 181 WRITE(numout,*) ' ' 82 WRITE(numout,*) 'usr_def_nam : read the user defined namelist (namusr_def) in namelist_cfg' 83 WRITE(numout,*) '~~~~~~~~~~~ ' 84 WRITE(numout,*) ' Namelist namusr_def : ISOMIP test case' 85 WRITE(numout,*) ' type of vertical coordinate : ' 86 WRITE(numout,*) ' z-coordinate flag ln_zco = ', ln_zco 87 WRITE(numout,*) ' z-partial-step coordinate flag ln_zps = ', ln_zps 88 WRITE(numout,*) ' s-coordinate flag ln_sco = ', ln_sco 89 WRITE(numout,*) ' resolution' 90 WRITE(numout,*) ' zonal resolution rn_e1deg = ', rn_e1deg, ' degrees' 91 WRITE(numout,*) ' meridional resolution rn_e1deg = ', rn_e1deg, ' degrees' 92 WRITE(numout,*) ' vertical resolution rn_e3 = ', rn_e3 , ' meters' 93 WRITE(numout,*) ' ISOMIP domain = 15° x 10° x 900 m' 94 WRITE(numout,*) ' resulting global domain size : jpiglo = ', kpi 95 WRITE(numout,*) ' jpjglo = ', kpj 96 WRITE(numout,*) ' jpkglo = ', kpk 100 97 ! 101 98 ! … … 103 100 kperio = 0 ! ISOMIP configuration : close basin 104 101 ! 105 WRITE( ldtxt(ii),*) ' ' ; ii = ii + 1106 WRITE( ldtxt(ii),*) ' Lateral boundary condition of the global domain' ; ii = ii + 1107 WRITE( ldtxt(ii),*) ' ISOMIP : closed basin jperio = ', kperio ; ii = ii + 1102 WRITE(numout,*) ' ' 103 WRITE(numout,*) ' Lateral boundary condition of the global domain' 104 WRITE(numout,*) ' ISOMIP : closed basin jperio = ', kperio 108 105 ! 109 106 END SUBROUTINE usr_def_nam -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/tests/LOCK_EXCHANGE/MY_SRC/usrdef_nam.F90
r10074 r11317 38 38 CONTAINS 39 39 40 SUBROUTINE usr_def_nam( ldtxt, ldnam,cd_cfg, kk_cfg, kpi, kpj, kpk, kperio )40 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, kperio ) 41 41 !!---------------------------------------------------------------------- 42 42 !! *** ROUTINE dom_nam *** … … 50 50 !! ** input : - namusr_def namelist found in namelist_cfg 51 51 !!---------------------------------------------------------------------- 52 CHARACTER(len=*), DIMENSION(:), INTENT(out) :: ldtxt, ldnam ! stored print information53 52 CHARACTER(len=*) , INTENT(out) :: cd_cfg ! configuration name 54 53 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution … … 56 55 INTEGER , INTENT(out) :: kperio ! lateral global domain b.c. 57 56 ! 58 INTEGER :: ios , ii! Local integer57 INTEGER :: ios ! Local integer 59 58 !! 60 59 NAMELIST/namusr_def/ rn_dx, rn_dz 61 60 !!---------------------------------------------------------------------- 62 61 ! 63 ii = 164 !65 62 REWIND( numnam_cfg ) ! Namelist namusr_def (exist in namelist_cfg only) 66 63 READ ( numnam_cfg, namusr_def, IOSTAT = ios, ERR = 902 ) 67 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namusr_def in configuration namelist' , .TRUE.)64 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namusr_def in configuration namelist' ) 68 65 ! 69 WRITE( ldnam(:), namusr_def )66 WRITE( numond, namusr_def ) 70 67 ! 71 68 ! … … 79 76 ! 80 77 ! ! control print 81 WRITE( ldtxt(ii),*) ' ' ; ii = ii + 182 WRITE( ldtxt(ii),*) 'usr_def_nam : read the user defined namelist (namusr_def) in namelist_cfg' ; ii = ii + 183 WRITE( ldtxt(ii),*) '~~~~~~~~~~~ ' ; ii = ii + 184 WRITE( ldtxt(ii),*) ' Namelist namusr_def : LOCK_EXCHANGE test case' ; ii = ii + 185 WRITE( ldtxt(ii),*) ' horizontal resolution rn_dx = ', rn_dx, ' meters' ; ii = ii + 186 WRITE( ldtxt(ii),*) ' vertical resolution rn_dz = ', rn_dz, ' meters' ; ii = ii + 187 WRITE( ldtxt(ii),*) ' LOCK_EXCHANGE domain = 64 km x 3 grid-points x 20 m' ; ii = ii + 188 WRITE( ldtxt(ii),*) ' resulting global domain size : jpiglo = ', kpi ; ii = ii + 189 WRITE( ldtxt(ii),*) ' jpjglo = ', kpj ; ii = ii + 190 WRITE( ldtxt(ii),*) ' jpkglo = ', kpk ; ii = ii + 178 WRITE(numout,*) ' ' 79 WRITE(numout,*) 'usr_def_nam : read the user defined namelist (namusr_def) in namelist_cfg' 80 WRITE(numout,*) '~~~~~~~~~~~ ' 81 WRITE(numout,*) ' Namelist namusr_def : LOCK_EXCHANGE test case' 82 WRITE(numout,*) ' horizontal resolution rn_dx = ', rn_dx, ' meters' 83 WRITE(numout,*) ' vertical resolution rn_dz = ', rn_dz, ' meters' 84 WRITE(numout,*) ' LOCK_EXCHANGE domain = 64 km x 3 grid-points x 20 m' 85 WRITE(numout,*) ' resulting global domain size : jpiglo = ', kpi 86 WRITE(numout,*) ' jpjglo = ', kpj 87 WRITE(numout,*) ' jpkglo = ', kpk 91 88 ! 92 89 ! ! Set the lateral boundary condition of the global domain 93 90 kperio = 0 ! LOCK_EXCHANGE configuration : closed domain 94 91 ! 95 WRITE( ldtxt(ii),*) ' ' ; ii = ii + 196 WRITE( ldtxt(ii),*) ' Lateral boundary condition of the global domain' ; ii = ii + 197 WRITE( ldtxt(ii),*) ' closed jperio = ', kperio ; ii = ii + 192 WRITE(numout,*) ' ' 93 WRITE(numout,*) ' Lateral boundary condition of the global domain' 94 WRITE(numout,*) ' closed jperio = ', kperio 98 95 ! 99 96 END SUBROUTINE usr_def_nam -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/tests/OVERFLOW/MY_SRC/usrdef_nam.F90
r10074 r11317 39 39 CONTAINS 40 40 41 SUBROUTINE usr_def_nam( ldtxt, ldnam,cd_cfg, kk_cfg, kpi, kpj, kpk, kperio )41 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, kperio ) 42 42 !!---------------------------------------------------------------------- 43 43 !! *** ROUTINE dom_nam *** … … 51 51 !! ** input : - namusr_def namelist found in namelist_cfg 52 52 !!---------------------------------------------------------------------- 53 CHARACTER(len=*), DIMENSION(:), INTENT(out) :: ldtxt, ldnam ! stored print information54 53 CHARACTER(len=*) , INTENT(out) :: cd_cfg ! configuration name 55 54 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution … … 57 56 INTEGER , INTENT(out) :: kperio ! lateral global domain b.c. 58 57 ! 59 INTEGER :: ios , ii! Local integer58 INTEGER :: ios ! Local integer 60 59 !! 61 60 NAMELIST/namusr_def/ ln_zco, ln_zps, ln_sco, rn_dx, rn_dz 62 61 !!---------------------------------------------------------------------- 63 62 ! 64 ii = 165 !66 63 REWIND( numnam_cfg ) ! Namelist namusr_def (exist in namelist_cfg only) 67 64 READ ( numnam_cfg, namusr_def, IOSTAT = ios, ERR = 902 ) 68 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namusr_def in configuration namelist' , .TRUE.)65 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namusr_def in configuration namelist' ) 69 66 ! 70 WRITE( ldnam(:), namusr_def )67 WRITE( numond, namusr_def ) 71 68 ! 72 69 cd_cfg = 'OVERFLOW' ! name & resolution (not used) … … 79 76 ! 80 77 ! ! control print 81 WRITE( ldtxt(ii),*) ' ' ; ii = ii + 182 WRITE( ldtxt(ii),*) 'usr_def_nam : read the user defined namelist (namusr_def) in namelist_cfg' ; ii = ii + 183 WRITE( ldtxt(ii),*) '~~~~~~~~~~~ ' ; ii = ii + 184 WRITE( ldtxt(ii),*) ' Namelist namusr_def : OVERFLOW test case' ; ii = ii + 185 WRITE( ldtxt(ii),*) ' type of vertical coordinate : ' ; ii = ii + 186 WRITE( ldtxt(ii),*) ' z-coordinate flag ln_zco = ', ln_zco ; ii = ii + 187 WRITE( ldtxt(ii),*) ' z-partial-step coordinate flag ln_zps = ', ln_zps ; ii = ii + 188 WRITE( ldtxt(ii),*) ' s-coordinate flag ln_sco = ', ln_sco ; ii = ii + 189 WRITE( ldtxt(ii),*) ' horizontal resolution rn_dx = ', rn_dx, ' meters' ; ii = ii + 190 WRITE( ldtxt(ii),*) ' vertical resolution rn_dz = ', rn_dz, ' meters' ; ii = ii + 191 WRITE( ldtxt(ii),*) ' OVERFLOW domain = 200 km x 3 grid-points x 2000 m' ; ii = ii + 192 WRITE( ldtxt(ii),*) ' resulting global domain size : jpiglo = ', kpi ; ii = ii + 193 WRITE( ldtxt(ii),*) ' jpjglo = ', kpj ; ii = ii + 194 WRITE( ldtxt(ii),*) ' jpkglo = ', kpk ; ii = ii + 178 WRITE(numout,*) ' ' 79 WRITE(numout,*) 'usr_def_nam : read the user defined namelist (namusr_def) in namelist_cfg' 80 WRITE(numout,*) '~~~~~~~~~~~ ' 81 WRITE(numout,*) ' Namelist namusr_def : OVERFLOW test case' 82 WRITE(numout,*) ' type of vertical coordinate : ' 83 WRITE(numout,*) ' z-coordinate flag ln_zco = ', ln_zco 84 WRITE(numout,*) ' z-partial-step coordinate flag ln_zps = ', ln_zps 85 WRITE(numout,*) ' s-coordinate flag ln_sco = ', ln_sco 86 WRITE(numout,*) ' horizontal resolution rn_dx = ', rn_dx, ' meters' 87 WRITE(numout,*) ' vertical resolution rn_dz = ', rn_dz, ' meters' 88 WRITE(numout,*) ' OVERFLOW domain = 200 km x 3 grid-points x 2000 m' 89 WRITE(numout,*) ' resulting global domain size : jpiglo = ', kpi 90 WRITE(numout,*) ' jpjglo = ', kpj 91 WRITE(numout,*) ' jpkglo = ', kpk 95 92 ! 96 93 ! ! Set the lateral boundary condition of the global domain 97 94 kperio = 0 ! OVERFLOW configuration : close basin 98 95 ! 99 WRITE( ldtxt(ii),*) ' ' ; ii = ii + 1100 WRITE( ldtxt(ii),*) ' Lateral boundary condition of the global domain' ; ii = ii + 1101 WRITE( ldtxt(ii),*) ' OVERFLOW : closed basin jperio = ', kperio ; ii = ii + 196 WRITE(numout,*) ' ' 97 WRITE(numout,*) ' Lateral boundary condition of the global domain' 98 WRITE(numout,*) ' OVERFLOW : closed basin jperio = ', kperio 102 99 ! 103 100 END SUBROUTINE usr_def_nam -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/tests/VORTEX/MY_SRC/domvvl.F90
r10572 r11317 994 994 REWIND( numnam_ref ) ! Namelist nam_vvl in reference namelist : 995 995 READ ( numnam_ref, nam_vvl, IOSTAT = ios, ERR = 901) 996 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_vvl in reference namelist' , lwp)996 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_vvl in reference namelist' ) 997 997 REWIND( numnam_cfg ) ! Namelist nam_vvl in configuration namelist : Parameters of the run 998 998 READ ( numnam_cfg, nam_vvl, IOSTAT = ios, ERR = 902 ) 999 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nam_vvl in configuration namelist' , lwp)999 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nam_vvl in configuration namelist' ) 1000 1000 IF(lwm) WRITE ( numond, nam_vvl ) 1001 1001 ! -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/tests/VORTEX/MY_SRC/usrdef_nam.F90
r10074 r11317 40 40 CONTAINS 41 41 42 SUBROUTINE usr_def_nam( ldtxt, ldnam,cd_cfg, kk_cfg, kpi, kpj, kpk, kperio )42 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, kperio ) 43 43 !!---------------------------------------------------------------------- 44 44 !! *** ROUTINE dom_nam *** … … 52 52 !! ** input : - namusr_def namelist found in namelist_cfg 53 53 !!---------------------------------------------------------------------- 54 CHARACTER(len=*), DIMENSION(:), INTENT(out) :: ldtxt, ldnam ! stored print information55 54 CHARACTER(len=*) , INTENT(out) :: cd_cfg ! configuration name 56 55 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution … … 58 57 INTEGER , INTENT(out) :: kperio ! lateral global domain b.c. 59 58 ! 60 INTEGER :: ios , ii! Local integer59 INTEGER :: ios ! Local integer 61 60 REAL(wp):: zlx, zly, zh ! Local scalars 62 61 !! … … 64 63 !!---------------------------------------------------------------------- 65 64 ! 66 ii = 167 !68 65 REWIND( numnam_cfg ) ! Namelist namusr_def (exist in namelist_cfg only) 69 66 READ ( numnam_cfg, namusr_def, IOSTAT = ios, ERR = 902 ) 70 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namusr_def in configuration namelist' , .TRUE.)67 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namusr_def in configuration namelist' ) 71 68 ! 72 69 #if defined key_agrif … … 80 77 #endif 81 78 ! 82 WRITE( ldnam(:), namusr_def )79 WRITE( numond, namusr_def ) 83 80 ! 84 81 cd_cfg = 'VORTEX' ! name & resolution (not used) … … 100 97 zh = (kpk-1)*rn_dz 101 98 ! ! control print 102 WRITE( ldtxt(ii),*) ' ' ; ii = ii + 1103 WRITE( ldtxt(ii),*) 'usr_def_nam : read the user defined namelist (namusr_def) in namelist_cfg' ; ii = ii + 1104 WRITE( ldtxt(ii),*) '~~~~~~~~~~~ ' ; ii = ii + 1105 WRITE( ldtxt(ii),*) ' Namelist namusr_def : VORTEX test case' ; ii = ii + 1106 WRITE( ldtxt(ii),*) ' horizontal resolution rn_dx = ', rn_dx, ' m' ; ii = ii + 1107 WRITE( ldtxt(ii),*) ' horizontal resolution rn_dy = ', rn_dy, ' m' ; ii = ii + 1108 WRITE( ldtxt(ii),*) ' vertical resolution rn_dz = ', rn_dz, ' m' ; ii = ii + 1109 WRITE( ldtxt(ii),*) ' VORTEX domain: ' ; ii = ii + 1110 WRITE( ldtxt(ii),*) ' LX [km]: ', zlx ; ii = ii + 1111 WRITE( ldtxt(ii),*) ' LY [km]: ', zly ; ii = ii + 1112 WRITE( ldtxt(ii),*) ' H [m] : ', zh ; ii = ii + 1113 WRITE( ldtxt(ii),*) ' Reference latitude rn_ppgphi0 = ', rn_ppgphi0 ; ii = ii + 199 WRITE(numout,*) ' ' 100 WRITE(numout,*) 'usr_def_nam : read the user defined namelist (namusr_def) in namelist_cfg' 101 WRITE(numout,*) '~~~~~~~~~~~ ' 102 WRITE(numout,*) ' Namelist namusr_def : VORTEX test case' 103 WRITE(numout,*) ' horizontal resolution rn_dx = ', rn_dx, ' m' 104 WRITE(numout,*) ' horizontal resolution rn_dy = ', rn_dy, ' m' 105 WRITE(numout,*) ' vertical resolution rn_dz = ', rn_dz, ' m' 106 WRITE(numout,*) ' VORTEX domain: ' 107 WRITE(numout,*) ' LX [km]: ', zlx 108 WRITE(numout,*) ' LY [km]: ', zly 109 WRITE(numout,*) ' H [m] : ', zh 110 WRITE(numout,*) ' Reference latitude rn_ppgphi0 = ', rn_ppgphi0 114 111 ! 115 112 ! ! Set the lateral boundary condition of the global domain 116 113 kperio = 0 ! VORTEX configuration : closed basin 117 114 ! 118 WRITE( ldtxt(ii),*) ' ' ; ii = ii + 1119 WRITE( ldtxt(ii),*) ' Lateral boundary condition of the global domain' ; ii = ii + 1120 WRITE( ldtxt(ii),*) ' VORTEX : closed basin jperio = ', kperio ; ii = ii + 1115 WRITE(numout,*) ' ' 116 WRITE(numout,*) ' Lateral boundary condition of the global domain' 117 WRITE(numout,*) ' VORTEX : closed basin jperio = ', kperio 121 118 ! 122 119 END SUBROUTINE usr_def_nam -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/tests/WAD/MY_SRC/bdyini.F90
r10425 r11317 79 79 REWIND( numnam_ref ) ! Namelist nambdy in reference namelist :Unstructured open boundaries 80 80 READ ( numnam_ref, nambdy, IOSTAT = ios, ERR = 901) 81 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy in reference namelist' , lwp)81 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy in reference namelist' ) 82 82 REWIND( numnam_cfg ) ! Namelist nambdy in configuration namelist :Unstructured open boundaries 83 83 READ ( numnam_cfg, nambdy, IOSTAT = ios, ERR = 902 ) 84 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nambdy in configuration namelist' , lwp)84 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nambdy in configuration namelist' ) 85 85 IF(lwm) WRITE ( numond, nambdy ) 86 86 … … 423 423 ! keep full control of the configuration namelist 424 424 READ ( numnam_cfg, nambdy_index, IOSTAT = ios, ERR = 904 ) 425 904 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy_index in configuration namelist' , lwp)425 904 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy_index in configuration namelist' ) 426 426 IF(lwm) WRITE ( numond, nambdy_index ) 427 427 -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/tests/WAD/MY_SRC/usrdef_nam.F90
r10074 r11317 39 39 CONTAINS 40 40 41 SUBROUTINE usr_def_nam( ldtxt, ldnam,cd_cfg, kk_cfg, kpi, kpj, kpk, kperio )41 SUBROUTINE usr_def_nam( cd_cfg, kk_cfg, kpi, kpj, kpk, kperio ) 42 42 !!---------------------------------------------------------------------- 43 43 !! *** ROUTINE dom_nam *** … … 51 51 !! ** input : - namusr_def namelist found in namelist_cfg 52 52 !!---------------------------------------------------------------------- 53 CHARACTER(len=*), DIMENSION(:), INTENT(out) :: ldtxt, ldnam ! stored print information54 53 CHARACTER(len=*) , INTENT(out) :: cd_cfg ! configuration name 55 54 INTEGER , INTENT(out) :: kk_cfg ! configuration resolution … … 57 56 INTEGER , INTENT(out) :: kperio ! lateral global domain b.c. 58 57 ! 59 INTEGER :: ios , ii! Local integer58 INTEGER :: ios ! Local integer 60 59 !! 61 60 NAMELIST/namusr_def/ rn_dx, rn_dz, nn_wad_test 62 61 !!---------------------------------------------------------------------- 63 62 ! 64 ii = 165 !66 63 REWIND( numnam_cfg ) ! Namelist namusr_def (exist in namelist_cfg only) 67 64 READ ( numnam_cfg, namusr_def, IOSTAT = ios, ERR = 902 ) 68 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namusr_def in configuration namelist' , .TRUE.)65 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namusr_def in configuration namelist' ) 69 66 ! 70 WRITE( ldnam(:), namusr_def )67 WRITE( numond, namusr_def ) 71 68 ! 72 69 ! … … 81 78 ! 82 79 ! ! control print 83 WRITE( ldtxt(ii),*) ' ' ; ii = ii + 184 WRITE( ldtxt(ii),*) 'usr_def_nam : read the user defined namelist (namusr_def) in namelist_cfg' ; ii = ii + 185 WRITE( ldtxt(ii),*) '~~~~~~~~~~~ ' ; ii = ii + 186 WRITE( ldtxt(ii),*) ' Namelist namusr_def : WAD_TEST_CASES test case' ; ii = ii + 187 WRITE( ldtxt(ii),*) ' horizontal resolution rn_dx = ', rn_dx, ' meters' ; ii = ii + 188 WRITE( ldtxt(ii),*) ' vertical resolution rn_dz = ', rn_dz, ' meters' ; ii = ii + 189 WRITE( ldtxt(ii),*) ' WAD_TEST_CASES domain = 52 km x 34 km x 10 m' ; ii = ii + 190 WRITE( ldtxt(ii),*) ' resulting global domain size : jpiglo = ', kpi ; ii = ii + 191 WRITE( ldtxt(ii),*) ' jpjglo = ', kpj ; ii = ii + 192 WRITE( ldtxt(ii),*) ' jpkglo = ', kpk ; ii = ii + 180 WRITE(numout,*) ' ' 81 WRITE(numout,*) 'usr_def_nam : read the user defined namelist (namusr_def) in namelist_cfg' 82 WRITE(numout,*) '~~~~~~~~~~~ ' 83 WRITE(numout,*) ' Namelist namusr_def : WAD_TEST_CASES test case' 84 WRITE(numout,*) ' horizontal resolution rn_dx = ', rn_dx, ' meters' 85 WRITE(numout,*) ' vertical resolution rn_dz = ', rn_dz, ' meters' 86 WRITE(numout,*) ' WAD_TEST_CASES domain = 52 km x 34 km x 10 m' 87 WRITE(numout,*) ' resulting global domain size : jpiglo = ', kpi 88 WRITE(numout,*) ' jpjglo = ', kpj 89 WRITE(numout,*) ' jpkglo = ', kpk 93 90 ! 94 91 ! ! Set the lateral boundary condition of the global domain … … 96 93 IF( nn_wad_test == 8 ) kperio = 7 ! North-South cyclic test 97 94 ! 98 WRITE( ldtxt(ii),*) ' ' ; ii = ii + 199 WRITE( ldtxt(ii),*) ' Lateral boundary condition of the global domain' ; ii = ii + 1100 WRITE( ldtxt(ii),*) ' closed jperio = ', kperio ; ii = ii + 195 WRITE(numout,*) ' ' 96 WRITE(numout,*) ' Lateral boundary condition of the global domain' 97 WRITE(numout,*) ' closed jperio = ', kperio 101 98 ! 102 99 END SUBROUTINE usr_def_nam
Note: See TracChangeset
for help on using the changeset viewer.