- Timestamp:
- 2021-01-22T12:09:05+01:00 (3 years ago)
- Location:
- NEMO/branches/2020/dev_14237_KERNEL-01_IMMERSE_SEAMOUNT
- Files:
-
- 39 edited
- 5 copied
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/dev_14237_KERNEL-01_IMMERSE_SEAMOUNT
- Property svn:externals
-
old new 9 9 10 10 # SETTE 11 ^/utils/CI/sette _wave@13990sette11 ^/utils/CI/sette@14244 sette
-
- Property svn:externals
-
NEMO/branches/2020/dev_14237_KERNEL-01_IMMERSE_SEAMOUNT/tests/BENCH/MY_SRC/usrdef_istate.F90
r14223 r14328 72 72 zfact = REAL(jk-1,wp) / REAL(jpk-1,wp) ! 0 to 1 to add a basic stratification 73 73 ! temperature choosen to lead to ~50% ice at the beginning if rn_thres_sst = 0.5 74 pts( :,:,jk,jp_tem) = 20._wp*z2d(:,:) - 1._wp - 0.5_wp * zfact ! -1 to -1.5 +/- 1.0 degG74 pts(ji,jj,jk,jp_tem) = 20._wp*z2d(ji,jj) - 1._wp - 0.5_wp * zfact ! -1 to -1.5 +/- 1.0 degG 75 75 ! salinity: 76 pts( :,:,jk,jp_sal) = 30._wp + 1._wp * zfact + z2d(:,:) ! 30 to 31 +/- 0.05 psu76 pts(ji,jj,jk,jp_sal) = 30._wp + 1._wp * zfact + z2d(ji,jj) ! 30 to 31 +/- 0.05 psu 77 77 ! velocities: 78 pu( :,:,jk) = z2d(:,:) * 0.1_wp * umask(:,:,jk)! +/- 0.005 m/s79 pv( :,:,jk) = z2d(:,:) * 0.01_wp * vmask(:,:,jk)! +/- 0.0005 m/s78 pu(ji,jj,jk) = z2d(ji,jj) * 0.1_wp * umask(ji,jj,jk) ! +/- 0.005 m/s 79 pv(ji,jj,jk) = z2d(ji,jj) * 0.01_wp * vmask(ji,jj,jk) ! +/- 0.0005 m/s 80 80 END_3D 81 81 pts(:,:,jpk,:) = 0._wp -
NEMO/branches/2020/dev_14237_KERNEL-01_IMMERSE_SEAMOUNT/tests/BENCH/MY_SRC/usrdef_sbc.F90
r14223 r14328 30 30 PRIVATE 31 31 32 PUBLIC usrdef_sbc_oce ! routine called in sbcmod module33 PUBLIC usrdef_sbc_ice_tau ! routine called by sbcice_lim.F90 for ice dynamics34 PUBLIC usrdef_sbc_ice_flx ! routine called by sbcice_lim.F90 for ice thermo32 PUBLIC usrdef_sbc_oce ! routine called by sbcmod.F90 for sbc ocean 33 PUBLIC usrdef_sbc_ice_tau ! routine called by icestp.F90 for ice dynamics 34 PUBLIC usrdef_sbc_ice_flx ! routine called by icestp.F90 for ice thermo 35 35 36 36 !! * Substitutions … … 83 83 ! 84 84 ENDIF 85 86 85 ! 87 86 END SUBROUTINE usrdef_sbc_oce … … 97 96 INTEGER, INTENT(in) :: kt ! ocean time step 98 97 ! 99 REAL(wp) , DIMENSION(jpi,jpj) :: z2d ! 2D workspace98 REAL(wp) :: zztmp 100 99 INTEGER :: ji, jj 101 100 !!--------------------------------------------------------------------- … … 106 105 ! 107 106 DO_2D( 0, 0, 0, 0 ) 108 z2d(ji,jj) = 0.1 * ( 0.5 - REAL( mig0(ji) + (mjg0(jj)-1) * Ni0glo, wp ) / REAL( Ni0glo * Nj0glo, wp ) ) 107 zztmp = 0.1 * ( 0.5 - REAL( mig0(ji) + (mjg0(jj)-1) * Ni0glo, wp ) / REAL( Ni0glo * Nj0glo, wp ) ) 108 utau_ice(ji,jj) = 0.1_wp + zztmp 109 vtau_ice(ji,jj) = 0.1_wp + zztmp 109 110 END_2D 110 utau_ice(:,:) = 0.1_wp + z2d(:,:)111 vtau_ice(:,:) = 0.1_wp + z2d(:,:)112 111 113 112 CALL lbc_lnk_multi( 'usrdef_sbc', utau_ice, 'U', -1., vtau_ice, 'V', -1. ) … … 121 120 !! *** ROUTINE usrdef_sbc_ice_flx *** 122 121 !! 123 !! ** Purpose : provide the surface boundary (flux) condition over 124 !sea-ice 122 !! ** Purpose : provide the surface boundary (flux) condition over sea-ice 125 123 !!--------------------------------------------------------------------- 126 124 INTEGER, INTENT(in) :: kt ! ocean time step … … 130 128 REAL(wp), DIMENSION(jpi,jpj) :: zsnw ! snw distribution after wind blowing 131 129 !!--------------------------------------------------------------------- 130 #if defined key_si3 132 131 ! 133 #if defined key_si3134 132 IF( kt==nit000 .AND. lwp) WRITE(numout,*)' usrdef_sbc_ice : BENCH case: NO flux forcing' 135 133 ! … … 137 135 emp_oce (:,:) = 0._wp ! uniform value for freshwater budget (E-P) 138 136 qsr_oce (:,:) = 0._wp ! uniform value for solar radiation 139 qns_oce (:,:) = 0._wp ! uniform value for non-solar radiation137 qns_oce (:,:) = 0._wp ! uniform value for non-solar heat flux 140 138 141 139 ! ice variables 142 140 alb_ice (:,:,:) = 0.7_wp ! useless 143 141 qsr_ice (:,:,:) = 0._wp ! uniform value for solar radiation 144 qns_ice (:,:,:) = 0._wp ! uniform value for non-solar radiation 142 qns_ice (:,:,:) = 0._wp ! uniform value for non-solar heat flux 143 dqns_ice(:,:,:) = 0._wp ! uniform value for non solar heat flux sensitivity for ice 145 144 sprecip (:,:) = 0._wp ! uniform value for snow precip 146 145 evap_ice(:,:,:) = 0._wp ! uniform value for sublimation … … 148 147 ! ice fields deduced from above 149 148 zsnw(:,:) = 1._wp 150 !!CALL lim_thd_snwblow( at_i_b, zsnw ) ! snow distribution over ice after 151 !wind blowing 149 !!CALL lim_thd_snwblow( at_i_b, zsnw ) ! snow distribution over ice after wind blowing 152 150 emp_ice (:,:) = SUM( a_i_b(:,:,:) * evap_ice(:,:,:), dim=3 ) - sprecip(:,:) * zsnw(:,:) 153 151 emp_oce (:,:) = emp_oce(:,:) - sprecip(:,:) * (1._wp - zsnw(:,:) ) … … 164 162 ! --- shortwave radiation transmitted thru the surface scattering layer (W/m2) --- ! 165 163 qtr_ice_top(:,:,:) = 0._wp 166 167 164 #endif 168 165 -
NEMO/branches/2020/dev_14237_KERNEL-01_IMMERSE_SEAMOUNT/tests/C1D_ASICS/cpp_C1D_ASICS.fcm
r14229 r14328 1 bld::tool::fppkeys key_c1d key_qco key_ iomput1 bld::tool::fppkeys key_c1d key_qco key_xios -
NEMO/branches/2020/dev_14237_KERNEL-01_IMMERSE_SEAMOUNT/tests/CANAL/cpp_CANAL.fcm
r14229 r14328 1 bld::tool::fppkeys key_ iomputkey_qco1 bld::tool::fppkeys key_xios key_qco -
NEMO/branches/2020/dev_14237_KERNEL-01_IMMERSE_SEAMOUNT/tests/CPL_OASIS/cpp_CPL_OASIS.fcm
r14229 r14328 1 bld::tool::fppkeys key_si3 key_top key_ iomputkey_oasis3 key_qco1 bld::tool::fppkeys key_si3 key_top key_xios key_oasis3 key_qco -
NEMO/branches/2020/dev_14237_KERNEL-01_IMMERSE_SEAMOUNT/tests/DOME/EXPREF/1_namelist_cfg
r14216 r14328 18 18 / 19 19 !----------------------------------------------------------------------- 20 &namusr_def ! User defined : OVERFLOW configuration 21 !----------------------------------------------------------------------- 22 ! ! type of vertical coordinate 23 ln_zco = .false. ! z-coordinate 24 ln_zps = .true. ! z-partial-step coordinate 25 ln_sco = .false. ! s-coordinate 26 rn_dx = 5000. ! horizontal resolution [meters] 27 rn_dz = 60. ! vertical resolution [meters] 28 rn_f0 = 1.e-4 ! coriolis [s-1] 29 / 30 !----------------------------------------------------------------------- 20 31 &namrun ! parameters of the run 21 32 !----------------------------------------------------------------------- … … 105 116 !----------------------------------------------------------------------- 106 117 ln_traadv_fct = .true. ! FCT scheme 107 nn_fct_h = 4! =2/4, horizontal 2nd / 4th order118 nn_fct_h = 2 ! =2/4, horizontal 2nd / 4th order 108 119 nn_fct_v = 2 ! =2/4, vertical 2nd / COMPACT 4th order 109 120 / -
NEMO/branches/2020/dev_14237_KERNEL-01_IMMERSE_SEAMOUNT/tests/DOME/EXPREF/file_def_nemo-oce.xml
r14216 r14328 8 8 --> 9 9 10 <file_definition type="one_file" name="@expname@" sync_freq="1 2h" min_digits="4">11 <file_group id="1 2h" output_freq="12h" output_level="10" enabled=".TRUE." > <!-- 12hfiles -->10 <file_definition type="one_file" name="@expname@" sync_freq="1d" min_digits="4"> 11 <file_group id="1d" output_freq="1d" output_level="10" enabled=".TRUE." > <!-- 1d files --> 12 12 13 13 <file id="file1" name_suffix="_grid_T" description="ocean T grid variables" > -
NEMO/branches/2020/dev_14237_KERNEL-01_IMMERSE_SEAMOUNT/tests/DOME/EXPREF/namelist_cfg
r14216 r14328 3 3 !!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 4 4 ! 5 ! 5 !----------------------------------------------------------------------- 6 &namusr_def ! User defined : OVERFLOW configuration 7 !----------------------------------------------------------------------- 8 ! ! type of vertical coordinate 9 ln_zco = .false. ! z-coordinate 10 ln_zps = .true. ! z-partial-step coordinate 11 ln_sco = .false. ! s-coordinate 12 rn_dx = 5000. ! horizontal resolution [meters] 13 rn_dz = 60. ! vertical resolution [meters] 14 rn_f0 = 1.e-4 ! coriolis [s-1] 15 / 6 16 !----------------------------------------------------------------------- 7 17 &namrun ! parameters of the run … … 92 102 !----------------------------------------------------------------------- 93 103 &namtra_adv ! advection scheme for tracer 94 !---------------------------------------------------------------------- -104 !---------------------------------------------------------------------- 95 105 ln_traadv_fct = .true. ! FCT scheme 96 nn_fct_h = 4! =2/4, horizontal 2nd / 4th order106 nn_fct_h = 2 ! =2/4, horizontal 2nd / 4th order 97 107 nn_fct_v = 2 ! =2/4, vertical 2nd / COMPACT 4th order 98 108 / -
NEMO/branches/2020/dev_14237_KERNEL-01_IMMERSE_SEAMOUNT/tests/DOME/MY_SRC/usrdef_istate.F90
r14133 r14328 16 16 USE phycst ! physical constants 17 17 USE eosbn2, ONLY: rn_a0 18 USE dom_oce 18 19 ! 19 20 USE in_out_manager ! I/O manager -
NEMO/branches/2020/dev_14237_KERNEL-01_IMMERSE_SEAMOUNT/tests/DOME/cpp_DOME.fcm
r14229 r14328 1 bld::tool::fppkeys key_ iomputkey_agrif key_linssh1 bld::tool::fppkeys key_xios key_agrif key_linssh -
NEMO/branches/2020/dev_14237_KERNEL-01_IMMERSE_SEAMOUNT/tests/DONUT/EXPREF/file_def_nemo-ice.xml
r14226 r14328 53 53 <field field_ref="normstr" name="normstr" /> 54 54 <field field_ref="sheastr" name="sheastr" /> 55 <field field_ref="isig1" name="isig1" /> 56 <field field_ref="isig2" name="isig2" /> 57 <field field_ref="isig3" name="isig3" /> 55 <field field_ref="sig1_pnorm" name="sig1_pnorm"/> 56 <field field_ref="sig2_pnorm" name="sig2_pnorm"/> 58 57 59 58 <!-- heat fluxes --> … … 68 67 <field field_ref="albedo" name="albedo" /> 69 68 70 <!-- heat fluxes --> 71 <field id="hfxbog" long_name="heat flux used for bottom ice growth (neg.)" unit="W/m2" /> 72 <field id="hfxbom" long_name="heat flux used for bottom ice melt (pos.)" unit="W/m2" /> 73 <field id="hfxsum" long_name="heat flux used for surface ice melt" unit="W/m2" /> 74 <field id="hfxopw" long_name="heat flux used for open water ice formation" unit="W/m2" /> 75 <field id="hfxdif" long_name="heat flux used for ice temperature change" unit="W/m2" /> 76 <field id="hfxsnw" long_name="heat flux used for snow melt" unit="W/m2" /> 77 <field id="hfxerr" long_name="heat flux error after heat diffusion" unit="W/m2" /> 78 <!-- heat fluxes associated with mass exchange --> 79 <field id="hfxthd" long_name="heat fluxes from ice-ocean mass exchange during thermo" unit="W/m2" /> 80 <field id="hfxdyn" long_name="heat fluxes from ice-ocean mass exchange during dynamic" unit="W/m2" /> 81 <field id="hfxres" long_name="heat fluxes from undiagnosed processes" unit="W/m2" /> 82 <field id="hfxsub" long_name="heat fluxes from ice-atm. mass exchange during sublimation" unit="W/m2" /> 83 <field id="hfxspr" long_name="heat fluxes from ice-atm. mass exchange during snow precip" unit="W/m2" /> 84 <field id="hfxdhc" long_name="Heat content variation in snow and ice (neg = ice cooling)" unit="W/m2" /> 85 86 <field field_ref="hfxcndtop" name="hfxcndtop" /> 69 <field field_ref="hfxcndtop" name="hfxcndtop" /> 87 70 <field field_ref="hfxcndbot" name="hfxcndbot" /> 88 71 <field field_ref="hfxsensib" name="hfxsensib" /> … … 94 77 <field field_ref="vfxice" name="vfxice" /> 95 78 <field field_ref="vfxsnw" name="vfxsnw" /> 96 79 97 80 <!-- categories --> 98 81 <field field_ref="icemask_cat" name="simskcat"/> -
NEMO/branches/2020/dev_14237_KERNEL-01_IMMERSE_SEAMOUNT/tests/DONUT/cpp_DONUT.fcm
r14229 r14328 1 bld::tool::fppkeys key_si3 key_qco key_ iomput1 bld::tool::fppkeys key_si3 key_qco key_xios -
NEMO/branches/2020/dev_14237_KERNEL-01_IMMERSE_SEAMOUNT/tests/ICB/MY_SRC/step.F90
r14227 r14328 98 98 ENDIF 99 99 IF( kstp == nit000 + 1 ) lk_agrif_fstep = .FALSE. 100 # if defined key_ iomput100 # if defined key_xios 101 101 IF( Agrif_Nbstepint() == 0 ) CALL iom_swap( cxios_context ) 102 102 # endif … … 150 150 ENDIF 151 151 ! 152 #if defined key_ iomput152 #if defined key_xios 153 153 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 154 154 ! Finalize contextes if end of simulation or error detected -
NEMO/branches/2020/dev_14237_KERNEL-01_IMMERSE_SEAMOUNT/tests/ICB/cpp_ICB.fcm
r14229 r14328 1 bld::tool::fppkeys key_ iomputkey_qco1 bld::tool::fppkeys key_xios key_qco -
NEMO/branches/2020/dev_14237_KERNEL-01_IMMERSE_SEAMOUNT/tests/ICE_ADV1D/MY_SRC/usrdef_sbc.F90
r14072 r14328 120 120 emp_oce (:,:) = 0._wp ! uniform value for freshwater budget (E-P) 121 121 qsr_oce (:,:) = 0._wp ! uniform value for solar radiation 122 qns_oce (:,:) = 0._wp ! uniform value for non-solar radiation122 qns_oce (:,:) = 0._wp ! uniform value for non-solar heat flux 123 123 124 124 ! ice variables 125 125 alb_ice (:,:,:) = 0.7_wp ! useless 126 126 qsr_ice (:,:,:) = 0._wp ! uniform value for solar radiation 127 qns_ice (:,:,:) = 0._wp ! uniform value for non-solar radiation 127 qns_ice (:,:,:) = 0._wp ! uniform value for non-solar heat flux 128 dqns_ice(:,:,:) = 0._wp ! uniform value for non solar heat flux sensitivity for ice 128 129 sprecip (:,:) = 0._wp ! uniform value for snow precip 129 130 evap_ice(:,:,:) = 0._wp ! uniform value for sublimation -
NEMO/branches/2020/dev_14237_KERNEL-01_IMMERSE_SEAMOUNT/tests/ICE_ADV1D/cpp_ICE_ADV1D.fcm
r14232 r14328 1 bld::tool::fppkeys key_si3 key_ iomputkey_linssh1 bld::tool::fppkeys key_si3 key_xios key_linssh -
NEMO/branches/2020/dev_14237_KERNEL-01_IMMERSE_SEAMOUNT/tests/ICE_ADV2D/MY_SRC/usrdef_sbc.F90
r13999 r14328 118 118 emp_oce (:,:) = 0._wp ! uniform value for freshwater budget (E-P) 119 119 qsr_oce (:,:) = 0._wp ! uniform value for solar radiation 120 qns_oce (:,:) = 0._wp ! uniform value for non-solar radiation120 qns_oce (:,:) = 0._wp ! uniform value for non-solar heat flux 121 121 122 122 ! ice variables 123 123 alb_ice (:,:,:) = 0.7_wp ! useless 124 124 qsr_ice (:,:,:) = 0._wp ! uniform value for solar radiation 125 qns_ice (:,:,:) = 0._wp ! uniform value for non-solar radiation 125 qns_ice (:,:,:) = 0._wp ! uniform value for non-solar heat flux 126 dqns_ice(:,:,:) = 0._wp ! uniform value for non solar heat flux sensitivity for ice 126 127 sprecip (:,:) = 0._wp ! uniform value for snow precip 127 128 evap_ice(:,:,:) = 0._wp ! uniform value for sublimation -
NEMO/branches/2020/dev_14237_KERNEL-01_IMMERSE_SEAMOUNT/tests/ICE_ADV2D/cpp_ICE_ADV2D.fcm
r14232 r14328 1 bld::tool::fppkeys key_si3 key_linssh key_ iomput1 bld::tool::fppkeys key_si3 key_linssh key_xios -
NEMO/branches/2020/dev_14237_KERNEL-01_IMMERSE_SEAMOUNT/tests/ICE_AGRIF/MY_SRC/usrdef_sbc.F90
r14072 r14328 119 119 emp_oce (:,:) = 0._wp ! uniform value for freshwater budget (E-P) 120 120 qsr_oce (:,:) = 0._wp ! uniform value for solar radiation 121 qns_oce (:,:) = 0._wp ! uniform value for non-solar radiation121 qns_oce (:,:) = 0._wp ! uniform value for non-solar heat flux 122 122 123 123 ! ice variables 124 124 alb_ice (:,:,:) = 0.7_wp ! useless 125 125 qsr_ice (:,:,:) = 0._wp ! uniform value for solar radiation 126 qns_ice (:,:,:) = 0._wp ! uniform value for non-solar radiation 126 qns_ice (:,:,:) = 0._wp ! uniform value for non-solar heat flux 127 dqns_ice(:,:,:) = 0._wp ! uniform value for non solar heat flux sensitivity for ice 127 128 sprecip (:,:) = 0._wp ! uniform value for snow precip 128 129 evap_ice(:,:,:) = 0._wp ! uniform value for sublimation -
NEMO/branches/2020/dev_14237_KERNEL-01_IMMERSE_SEAMOUNT/tests/ICE_AGRIF/cpp_ICE_AGRIF.fcm
r14229 r14328 1 bld::tool::fppkeys key_agrif key_si3 key_linssh key_ iomput1 bld::tool::fppkeys key_agrif key_si3 key_linssh key_xios -
NEMO/branches/2020/dev_14237_KERNEL-01_IMMERSE_SEAMOUNT/tests/ICE_RHEO/MY_SRC/usrdef_sbc.F90
r14063 r14328 179 179 emp_oce (:,:) = 0._wp ! uniform value for freshwater budget (E-P) 180 180 qsr_oce (:,:) = 0._wp ! uniform value for solar radiation 181 qns_oce (:,:) = 0._wp ! uniform value for non-solar radiation181 qns_oce (:,:) = 0._wp ! uniform value for non-solar heat flux 182 182 183 183 ! ice variables 184 184 alb_ice (:,:,:) = 0.7_wp ! useless 185 185 qsr_ice (:,:,:) = 0._wp ! uniform value for solar radiation 186 qns_ice (:,:,:) = 0._wp ! uniform value for non-solar radiation 186 qns_ice (:,:,:) = 0._wp ! uniform value for non-solar heat flux 187 dqns_ice(:,:,:) = 0._wp ! uniform value for non solar heat flux sensitivity for ice 187 188 sprecip (:,:) = 0._wp ! uniform value for snow precip 188 189 evap_ice(:,:,:) = 0._wp ! uniform value for sublimation -
NEMO/branches/2020/dev_14237_KERNEL-01_IMMERSE_SEAMOUNT/tests/ICE_RHEO/cpp_ICE_RHEO.fcm
r14232 r14328 1 bld::tool::fppkeys key_si3 key_linssh key_ iomput1 bld::tool::fppkeys key_si3 key_linssh key_xios -
NEMO/branches/2020/dev_14237_KERNEL-01_IMMERSE_SEAMOUNT/tests/ISOMIP+/cpp_ISOMIP+.fcm
r14229 r14328 1 bld::tool::fppkeys key_ iomput1 bld::tool::fppkeys key_xios -
NEMO/branches/2020/dev_14237_KERNEL-01_IMMERSE_SEAMOUNT/tests/ISOMIP/cpp_ISOMIP.fcm
r14229 r14328 1 bld::tool::fppkeys key_ iomput1 bld::tool::fppkeys key_xios -
NEMO/branches/2020/dev_14237_KERNEL-01_IMMERSE_SEAMOUNT/tests/LOCK_EXCHANGE/cpp_LOCK_EXCHANGE.fcm
r14229 r14328 1 bld::tool::fppkeys key_qco key_ iomput1 bld::tool::fppkeys key_qco key_xios -
NEMO/branches/2020/dev_14237_KERNEL-01_IMMERSE_SEAMOUNT/tests/OVERFLOW/cpp_OVERFLOW.fcm
r14229 r14328 1 bld::tool::fppkeys key_qco key_ iomput1 bld::tool::fppkeys key_qco key_xios -
NEMO/branches/2020/dev_14237_KERNEL-01_IMMERSE_SEAMOUNT/tests/STATION_ASF/MY_SRC/diawri.F90
r14072 r14328 63 63 CONTAINS 64 64 65 #if defined key_ iomput66 !!---------------------------------------------------------------------- 67 !! 'key_ iomput' use IOM library65 #if defined key_xios 66 !!---------------------------------------------------------------------- 67 !! 'key_xios' use IOM library 68 68 !!---------------------------------------------------------------------- 69 69 INTEGER FUNCTION dia_wri_alloc() -
NEMO/branches/2020/dev_14237_KERNEL-01_IMMERSE_SEAMOUNT/tests/STATION_ASF/MY_SRC/nemogcm.F90
r14229 r14328 34 34 USE mppini ! shared/distributed memory setting (mpp_init routine) 35 35 USE lib_fortran ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined) 36 #if defined key_ iomput36 #if defined key_xios 37 37 USE xios ! xIOserver 38 38 #endif … … 113 113 CALL nemo_closefile 114 114 ! 115 #if defined key_ iomput115 #if defined key_xios 116 116 CALL xios_finalize ! end mpp communications with xios 117 117 #else … … 148 148 ! !-------------------------------------------------! 149 149 ! 150 #if defined key_ iomput150 #if defined key_xios 151 151 IF( Agrif_Root() ) THEN 152 152 CALL xios_initialize( "for_xios_mpi_id", return_comm=ilocal_comm ) ! nemo local communicator given by xios -
NEMO/branches/2020/dev_14237_KERNEL-01_IMMERSE_SEAMOUNT/tests/STATION_ASF/MY_SRC/step_c1d.F90
r14227 r14328 79 79 IF( lrst_oce ) CALL rst_write( kstp, Nbb, Nnn ) ! write output ocean restart file 80 80 ! 81 #if defined key_ iomput81 #if defined key_xios 82 82 IF( kstp == nitend .OR. nstop > 0 ) CALL xios_context_finalize() ! needed for XIOS 83 83 ! -
NEMO/branches/2020/dev_14237_KERNEL-01_IMMERSE_SEAMOUNT/tests/STATION_ASF/MY_SRC/stpctl.F90
r14072 r14328 31 31 PUBLIC stp_ctl ! routine called by step.F90 32 32 33 INTEGER :: nrunid ! netcdf file id 34 INTEGER, DIMENSION(3) :: nvarid ! netcdf variable id 33 INTEGER, PARAMETER :: jpvar = 3 34 INTEGER :: nrunid ! netcdf file id 35 INTEGER, DIMENSION(jpvar) :: nvarid ! netcdf variable id 35 36 !!---------------------------------------------------------------------- 36 37 !! NEMO/SAS 4.0 , NEMO Consortium (2018) … … 59 60 INTEGER, INTENT(in ) :: Kmm ! ocean time level index 60 61 !! 62 INTEGER, PARAMETER :: jptst = 3 61 63 INTEGER :: ji ! dummy loop indices 62 64 INTEGER :: idtime, istatus 63 INTEGER , DIMENSION(4) :: iareasum, iareamin, iareamax 64 INTEGER , DIMENSION(3,3) :: iloc ! min/max loc indices 65 REAL(wp) :: zzz ! local real 66 REAL(wp), DIMENSION(4) :: zmax, zmaxlocal 65 INTEGER , DIMENSION(jptst) :: iareasum, iareamin, iareamax 66 INTEGER , DIMENSION(3,jptst) :: iloc ! min/max loc indices 67 REAL(wp) :: zzz ! local real 68 REAL(wp), DIMENSION(jpvar+1) :: zmax 69 REAL(wp), DIMENSION(jptst) :: zmaxlocal 67 70 LOGICAL :: ll_wrtstp, ll_colruns, ll_wrtruns, ll_0oce 68 71 LOGICAL, DIMENSION(jpi,jpj) :: llmsk … … 122 125 zmax(2) = MAXVAL( ABS( qns(:,:) ), mask = llmsk ) ! max non-solar heat flux 123 126 zmax(3) = MAXVAL( ABS( emp(:,:) ), mask = llmsk ) ! max E-P 124 zmax( 4) = REAL( nstop, wp )! stop indicator127 zmax(jpvar+1) = REAL( nstop, wp ) ! stop indicator 125 128 ! 126 129 ! !== get global extrema ==! 127 130 ! !== done by all processes if writting run.stat ==! 128 131 IF( ll_colruns ) THEN 129 zmaxlocal(:) = zmax( :)130 CALL mpp_max( "stpctl", zmax ) ! max over the global domain 131 nstop = NINT( zmax( 4) )! update nstop indicator (now sheared among all local domains)132 zmaxlocal(:) = zmax(1:jptst) 133 CALL mpp_max( "stpctl", zmax ) ! max over the global domain: ok even of ll_0oce = .true. 134 nstop = NINT( zmax(jpvar+1) ) ! update nstop indicator (now sheared among all local domains) 132 135 ELSE 133 136 ! if no ocean point: MAXVAL returns -HUGE => we must overwrite this value to avoid error handling bellow. 134 IF( ll_0oce ) zmax(1:3) = 0._wp ! default "valid" values... 135 ENDIF 136 ! !== error handling ==! 137 IF( ll_0oce ) zmax(1:jptst) = 0._wp ! default "valid" values... 138 ENDIF 137 139 ! !== write "run.stat" files ==! 138 140 ! !== done only by 1st subdomain at writting timestep ==! 139 141 IF( ll_wrtruns ) THEN 140 WRITE(numrun,9500) kt, zmax(1 ), zmax(2), zmax(3)141 DO ji = 1, 3142 WRITE(numrun,9500) kt, zmax(1:jptst) 143 DO ji = 1, jpvar 142 144 istatus = NF90_PUT_VAR( nrunid, nvarid(ji), (/zmax(ji)/), (/kt/), (/1/) ) 143 145 END DO 144 IF( kt == nitend ) istatus = NF90_CLOSE(nrunid)146 IF( kt == nitend ) istatus = NF90_CLOSE(nrunid) 145 147 END IF 146 148 ! !== error handling ==! 147 149 ! !== done by all processes at every time step ==! 148 150 ! 149 IF( zmax(1) > 5._wp .OR. & ! too large wind stress ( > 5 N/m^2 )150 & zmax(2) > 2000._wp .OR. & ! too large non-solar heat flux ( > 2000 W/m^2 )151 & zmax(3) > 1.E-3_wp .OR. & ! too large net freshwater flux ( > 1.E-3 kg/m^2/s )152 & ISNAN( zmax(1) + zmax(2) + zmax(3) ) .OR. & ! NaN encounter in the tests153 & ABS( zmax(1) + zmax(2) + zmax(3) ) > HUGE(1._wp) ) THEN ! Infinity encounter in the tests151 IF( zmax(1) > 5._wp .OR. & ! too large wind stress ( > 5 N/m^2 ) 152 & zmax(2) > 2000._wp .OR. & ! too large non-solar heat flux ( > 2000 W/m^2 ) 153 & zmax(3) > 1.E-3_wp .OR. & ! too large net freshwater flux ( > 1.E-3 kg/m^2/s ) 154 & ISNAN( SUM(zmax(1:jptst)) ) .OR. & ! NaN encounter in the tests 155 & ABS( SUM(zmax(1:jptst)) ) > HUGE(1._wp) ) THEN ! Infinity encounter in the tests 154 156 ! 155 157 iloc(:,:) = 0 … … 163 165 ! find which subdomain has the max. 164 166 iareamin(:) = jpnij+1 ; iareamax(:) = 0 ; iareasum(:) = 0 165 DO ji = 1, 4167 DO ji = 1, jptst 166 168 IF( zmaxlocal(ji) == zmax(ji) ) THEN 167 169 iareamin(ji) = narea ; iareamax(ji) = narea ; iareasum(ji) = 1 … … 176 178 iloc(1:2,2) = MAXLOC( ABS( qns(:,:) ), mask = llmsk ) 177 179 iloc(1:2,3) = MINLOC( ABS( emp(:,:) ), mask = llmsk ) 178 DO ji = 1, 3! local domain indices ==> global domain indices, excluding halos180 DO ji = 1, jptst ! local domain indices ==> global domain indices, excluding halos 179 181 iloc(1:2,ji) = (/ mig0(iloc(1,ji)), mjg0(iloc(2,ji)) /) 180 182 END DO … … 195 197 ! 196 198 IF( ll_colruns .OR. jpnij == 1 ) THEN ! all processes synchronized -> use lwp to print in opened ocean.output files 197 IF(lwp) THEN 198 CALL ctl_stop( ctmp1, ' ', ctmp2, ctmp3, ctmp4, ctmp5, ' ', ctmp6 ) 199 ELSE 200 nstop = MAX(1, nstop) ! make sure nstop > 0 (automatically done when calling ctl_stop) 199 IF(lwp) THEN ; CALL ctl_stop( ctmp1, ' ', ctmp2, ctmp3, ctmp4, ctmp5, ' ', ctmp6 ) 200 ELSE ; nstop = MAX(1, nstop) ! make sure nstop > 0 (automatically done when calling ctl_stop) 201 201 ENDIF 202 202 ELSE ! only mpi subdomains with errors are here -> STOP now … … 239 239 240 240 WRITE(clfmt, '(i1)') INT(LOG10(REAL(jpnij ,wp))) + 1 ! how many digits to we need to write ? (we decide max = 9) 241 !!! WRITE(clsum, '(i'//clfmt//')') ksum ! this is creating a compilation error with AGRIF241 !!! WRITE(clsum, '(i'//clfmt//')') ksum ! this is creating a compilation error with AGRIF 242 242 cl4 = '(i'//clfmt//')' ; WRITE(clsum, cl4) ksum 243 243 WRITE(clfmt, '(i1)') INT(LOG10(REAL(MAX(1,jpnij-1),wp))) + 1 ! how many digits to we need to write ? (we decide max = 9) 244 244 cl4 = '(i'//clfmt//')' ; WRITE(clmin, cl4) kmin-1 245 WRITE(clmax, cl4) kmax-1245 WRITE(clmax, cl4) kmax-1 246 246 ! 247 247 WRITE(clfmt, '(i1)') INT(LOG10(REAL(jpiglo,wp))) + 1 ! how many digits to we need to write jpiglo? (we decide max = 9) … … 259 259 ELSE 260 260 WRITE(clfmt, '(i1)') INT(LOG10(REAL(jpk,wp))) + 1 ! how many digits to we need to write jpk? (we decide max = 9) 261 !!! WRITE(clk, '(i'//clfmt//')') kloc(3) ! this is creating a compilation error with AGRIF261 !!! WRITE(clk, '(i'//clfmt//')') kloc(3) ! this is creating a compilation error with AGRIF 262 262 cl4 = '(i'//clfmt//')' ; WRITE(clk, cl4) kloc(3) ! this is ok with AGRIF 263 263 WRITE(cdline,9400) TRIM(ADJUSTL(clkt)), TRIM(ADJUSTL(cdprefix)), pval, TRIM(cli), TRIM(clj), TRIM(clk), TRIM(clsuff) -
NEMO/branches/2020/dev_14237_KERNEL-01_IMMERSE_SEAMOUNT/tests/STATION_ASF/cpp_STATION_ASF.fcm
r14229 r14328 1 bld::tool::fppkeys key_si3 key_c1d key_qco key_ iomput1 bld::tool::fppkeys key_si3 key_c1d key_qco key_xios -
NEMO/branches/2020/dev_14237_KERNEL-01_IMMERSE_SEAMOUNT/tests/SWG/cpp_SWG.fcm
r14229 r14328 1 bld::tool::fppkeys key_ iomputkey_qco key_RK31 bld::tool::fppkeys key_xios key_qco key_RK3 -
NEMO/branches/2020/dev_14237_KERNEL-01_IMMERSE_SEAMOUNT/tests/TSUNAMI/EXPREF/namelist_cfg
r14225 r14328 25 25 rn_dx = 10. ! x horizontal resolution [km] 26 26 rn_dy = 10. ! y horizontal resolution [km] 27 rn_dz = 100. ! z vertical resolution [m]28 27 rn_0xratio = 0.2 ! x-domain ratio of the 0 29 28 rn_0yratio = 0.4 ! y-domain ratio of the 0 30 nn_fcase = 0 ! F computation (0:f0, 1:Beta, 2:real)29 nn_fcase = 0 ! Coriolis frequency(f) computation (0:f0, 1:Beta plan, 2:real) 31 30 rn_ppgphi0 = 38.5 ! Reference latitude [degrees] 32 31 nn_perio = 7 -
NEMO/branches/2020/dev_14237_KERNEL-01_IMMERSE_SEAMOUNT/tests/TSUNAMI/MY_SRC/stpmlf.F90
r14225 r14328 98 98 ENDIF 99 99 IF( kstp == nit000 + 1 ) lk_agrif_fstep = .FALSE. 100 # if defined key_ iomput100 # if defined key_xios 101 101 IF( Agrif_Nbstepint() == 0 ) CALL iom_swap( cxios_context ) 102 102 # endif … … 181 181 ENDIF 182 182 183 #if defined key_ iomput183 #if defined key_xios 184 184 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 185 185 ! Finalize contextes if end of simulation or error detected -
NEMO/branches/2020/dev_14237_KERNEL-01_IMMERSE_SEAMOUNT/tests/TSUNAMI/MY_SRC/usrdef_nam.F90
r14225 r14328 33 33 REAL(wp), PUBLIC :: rn_dx = 30. ! x horizontal resolution [km] 34 34 REAL(wp), PUBLIC :: rn_dy = 30. ! y horizontal resolution [km] 35 REAL(wp), PUBLIC :: rn_dz = 500. ! vertical resolution [m]36 35 REAL(wp), PUBLIC :: rn_0xratio = 0.5 ! x domain ratio of the 0 37 36 REAL(wp), PUBLIC :: rn_0yratio = 0.5 ! x domain ratio of the 0 … … 65 64 ! 66 65 INTEGER :: ios ! Local integer 67 REAL(wp):: zh ! Local scalars68 66 !! 69 NAMELIST/namusr_def/ rn_domszx, rn_domszy, rn_domszz, rn_dx, rn_dy, rn_ dz, rn_0xratio, rn_0yratio &67 NAMELIST/namusr_def/ rn_domszx, rn_domszy, rn_domszz, rn_dx, rn_dy, rn_0xratio, rn_0yratio & 70 68 & , nn_fcase, rn_ppgphi0, nn_perio 71 69 !!---------------------------------------------------------------------- … … 81 79 rn_dx = Agrif_Parent(rn_dx)/Agrif_Rhox() 82 80 rn_dy = Agrif_Parent(rn_dy)/Agrif_Rhoy() 83 rn_dz = Agrif_Parent(rn_dz)84 81 rn_ppgphi0 = Agrif_Parent(rn_ppgphi0) 85 82 ENDIF 86 rn_0xratio = 0.5 83 rn_0xratio = 0.5 ! not really working I guess... 87 84 rn_0yratio = 0.5 88 85 #endif … … 100 97 kpj = nbcellsy + nbghostcells_y_s + nbghostcells_y_n + 2 101 98 ENDIF 102 kpk = MAX( 2, NINT( rn_domszz / rn_dz ) + 1 ) 103 ! 104 zh = (kpk-1)*rn_dz 99 kpk = 2 105 100 ! ! Set the lateral boundary condition of the global domain 106 101 kperio = 1 ! TSUNAMI configuration : closed basin … … 116 111 WRITE(numout,*) ' horizontal x-resolution rn_dx = ', rn_dx, ' km' 117 112 WRITE(numout,*) ' horizontal y-resolution rn_dy = ', rn_dy, ' km' 118 WRITE(numout,*) ' vertical resolution rn_dz = ', rn_dz, ' m'119 113 WRITE(numout,*) ' x-domain ratio of the 0 rn_0xratio = ', rn_0xratio 120 114 WRITE(numout,*) ' y-domain ratio of the 0 rn_0yratio = ', rn_0yratio 121 WRITE(numout,*) ' H [m] : ', zh122 115 WRITE(numout,*) ' F computation nn_fcase = ', nn_fcase 123 116 WRITE(numout,*) ' Reference latitude rn_ppgphi0 = ', rn_ppgphi0 -
NEMO/branches/2020/dev_14237_KERNEL-01_IMMERSE_SEAMOUNT/tests/TSUNAMI/cpp_TSUNAMI.fcm
r14229 r14328 1 bld::tool::fppkeys key_qco key_ iomput1 bld::tool::fppkeys key_qco key_xios -
NEMO/branches/2020/dev_14237_KERNEL-01_IMMERSE_SEAMOUNT/tests/VORTEX/cpp_VORTEX.fcm
r14229 r14328 1 bld::tool::fppkeys key_ iomputkey_agrif key_qco1 bld::tool::fppkeys key_xios key_agrif key_qco -
NEMO/branches/2020/dev_14237_KERNEL-01_IMMERSE_SEAMOUNT/tests/WAD/cpp_WAD.fcm
r14229 r14328 1 bld::tool::fppkeys key_ iomputkey_qco1 bld::tool::fppkeys key_xios key_qco
Note: See TracChangeset
for help on using the changeset viewer.