Changeset 11489 for NEMO/branches/2019/ENHANCE-02_ISF_nemo/src
- Timestamp:
- 2019-09-02T15:30:17+02:00 (5 years ago)
- Location:
- NEMO/branches/2019/ENHANCE-02_ISF_nemo/src/OCE
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/ENHANCE-02_ISF_nemo/src/OCE/ISF/isf.F90
r11423 r11489 30 30 ! 0.1 -------- ice shelf cavity parameter -------------- 31 31 CHARACTER(LEN=256), PUBLIC :: cn_isfdir 32 CHARACTER(LEN=256), PUBLIC :: cn_isfload !: ice shelf load computation method 33 ! 34 ! 0.2 -------- ice shelf cavity melt namelist parameter ------------- 32 ! 33 ! 0.2 -------- ice shelf cavity opened namelist parameter ------------- 35 34 LOGICAL , PUBLIC :: ln_isfcav_mlt !: logical for the use of ice shelf parametrisation 36 35 REAL(wp) , PUBLIC :: rn_gammat0 !: temperature exchange coeficient [] … … 39 38 CHARACTER(LEN=256), PUBLIC :: cn_gammablk !: gamma formulation 40 39 CHARACTER(LEN=256), PUBLIC :: cn_isfcav_mlt !: melt formulation (cavity/param) 40 CHARACTER(LEN=256), PUBLIC :: cn_isfload !: ice shelf load computation method 41 41 TYPE(FLD_N) , PUBLIC :: sn_isfcav_fwf !: information about the isf melting file to be read 42 42 ! 43 ! 0.3 -------- ice shelf param. meltnamelist parameter -------------43 ! 0.3 -------- ice shelf cavity parametrised namelist parameter ------------- 44 44 LOGICAL , PUBLIC :: ln_isfpar_mlt !: logical for the computation of melt inside the cavity 45 45 CHARACTER(LEN=256), PUBLIC :: cn_isfpar_mlt !: melt formulation (cavity/param) -
NEMO/branches/2019/ENHANCE-02_ISF_nemo/src/OCE/ISF/isfstp.F90
r11486 r11489 127 127 INTEGER :: ji, jj 128 128 !!---------------------------------------------------------------------- 129 NAMELIST/namisf/ ln_isfcav_mlt, cn_isfcav_mlt, cn_gammablk, rn_gammat0, rn_gammas0, rn_htbl, sn_isfcav_fwf, & 129 NAMELIST/namisf/ ln_isf , & 130 & ln_isfcav_mlt, cn_isfcav_mlt, cn_gammablk, rn_gammat0, rn_gammas0, rn_htbl, sn_isfcav_fwf, & 130 131 & ln_isfpar_mlt, cn_isfpar_mlt, sn_isfpar_fwf, sn_isfpar_zmin, sn_isfpar_zmax, sn_isfpar_Leff, & 131 132 & ln_isfcpl , nn_drown, ln_isfcpl_cons, & … … 143 144 risf_par_tsc(:,:,:) = 0.0_wp ; risf_par_tsc_b(:,:,:) = 0.0_wp 144 145 ! 145 ! terminate routine now if no ice shelf melt formulation specify146 IF ( .NOT. ln_isf ) RETURN147 !148 146 REWIND( numnam_ref ) ! Namelist namsbc_rnf in reference namelist : Runoffs 149 147 READ ( numnam_ref, namisf, IOSTAT = ios, ERR = 901) … … 161 159 WRITE(numout,*) ' Namelist namisf :' 162 160 ! 163 WRITE(numout,*) ' melt inside the cavity ln_isfcav_mlt = ', ln_isfcav_mlt 164 IF ( ln_isfcav ) THEN 165 WRITE(numout,*) ' melt formulation cn_isfcav_mlt = ', TRIM(cn_isfcav_mlt) 166 WRITE(numout,*) ' thickness of the top boundary layer rn_htbl = ', rn_htbl 167 WRITE(numout,*) ' gamma formulation cn_gammablk = ', TRIM(cn_gammablk) 168 IF ( TRIM(cn_gammablk) .NE. 'spe' ) THEN 169 WRITE(numout,*) ' gammat coefficient rn_gammat0 = ', rn_gammat0 170 WRITE(numout,*) ' gammas coefficient rn_gammas0 = ', rn_gammas0 171 WRITE(numout,*) ' top drag coef. used (from namdrg_top) rn_Cd0 = ', r_Cdmin_top 161 WRITE(numout,*) ' ice shelf cavity (open or parametrised) ln_isf = ', ln_isf 162 ! 163 IF ( ln_isf ) THEN 164 WRITE(numout,*) ' melt inside the cavity ln_isfcav_mlt = ', ln_isfcav_mlt 165 IF ( ln_isfcav ) THEN 166 WRITE(numout,*) ' melt formulation cn_isfcav_mlt = ', TRIM(cn_isfcav_mlt) 167 WRITE(numout,*) ' thickness of the top boundary layer rn_htbl = ', rn_htbl 168 WRITE(numout,*) ' gamma formulation cn_gammablk = ', TRIM(cn_gammablk) 169 IF ( TRIM(cn_gammablk) .NE. 'spe' ) THEN 170 WRITE(numout,*) ' gammat coefficient rn_gammat0 = ', rn_gammat0 171 WRITE(numout,*) ' gammas coefficient rn_gammas0 = ', rn_gammas0 172 WRITE(numout,*) ' top drag coef. used (from namdrg_top) rn_Cd0 = ', r_Cdmin_top 173 END IF 172 174 END IF 173 END IF 174 WRITE(numout,*) '' 175 ! 176 WRITE(numout,*) ' ice shelf melt parametrisation ln_isfpar_mlt = ', ln_isfpar_mlt 177 IF ( ln_isfpar_mlt ) THEN 178 WRITE(numout,*) ' isf parametrisation formulation cn_isfpar_mlt = ', TRIM(cn_isfpar_mlt) 179 END IF 180 WRITE(numout,*) '' 181 ! 182 WRITE(numout,*) ' Coupling to an ice sheet model ln_isfcpl = ', ln_isfcpl 183 IF ( ln_isfcpl ) THEN 184 WRITE(numout,*) ' conservation activated ln_isfcpl_cons = ', ln_isfcpl_cons 185 WRITE(numout,*) ' number of call of the extrapolation loop = ', nn_drown 186 ENDIF 187 ! 188 WRITE(numout,*) ' Ice shelf load method cn_isfload = ', TRIM(cn_isfload) 189 175 WRITE(numout,*) '' 176 ! 177 WRITE(numout,*) ' ice shelf melt parametrisation ln_isfpar_mlt = ', ln_isfpar_mlt 178 IF ( ln_isfpar_mlt ) THEN 179 WRITE(numout,*) ' isf parametrisation formulation cn_isfpar_mlt = ', TRIM(cn_isfpar_mlt) 180 END IF 181 WRITE(numout,*) '' 182 ! 183 WRITE(numout,*) ' Coupling to an ice sheet model ln_isfcpl = ', ln_isfcpl 184 IF ( ln_isfcpl ) THEN 185 WRITE(numout,*) ' conservation activated ln_isfcpl_cons = ', ln_isfcpl_cons 186 WRITE(numout,*) ' number of call of the extrapolation loop = ', nn_drown 187 ENDIF 188 ! 189 WRITE(numout,*) ' Ice shelf load method cn_isfload = ', TRIM(cn_isfload) 190 ELSE 191 IF ( ln_isfcav ) THEN 192 WRITE(numout,*) '' 193 WRITE(numout,*) ' W A R N I N G: ice shelf cavities are open BUT no melt will be computed or read from file !' 194 WRITE(numout,*) '' 195 END IF 196 END IF 197 198 END IF 199 ! 200 !--------------------------------------------------------------------------------------------------------------------- 201 ! initialisation ice shelf load 202 IF ( ln_isfcav ) THEN 203 ! 204 ! compute ice shelf mask 205 mskisf_cav(:,:) = (1._wp - tmask(:,:,1)) * ssmask(:,:) 206 ! 207 ! compute ice shelf load 208 CALL isf_load( risfload ) 209 ! 190 210 END IF 191 211 ! … … 196 216 & CALL ctl_stop('ice shelf melt in the cavity activated (ln_isfcav_mlt) but no cavity detected in domcfg (ln_isfcav), STOP' ) 197 217 ! 218 ! ice sheet coupling without cavity 219 IF ( ln_isfcpl .AND. (.NOT. ln_isfcav) ) & 220 & CALL ctl_stop('coupling with an ice sheet model detected (ln_isfcpl) but no cavity detected in domcfg (ln_isfcav), STOP' ) 221 ! 198 222 IF ( ln_isfcpl .AND. ln_isfcpl_cons .AND. ln_linssh ) & 199 223 & CALL ctl_stop( 'The coupling between NEMO and an ice sheet model with the conservation option does not work with the linssh option' ) … … 219 243 END IF 220 244 ! 221 !--------------------------------------------------------------------------------------------------------------------- 222 ! initialisation ice shelf load 223 IF ( ln_isfcav ) THEN 224 ! 225 ! compute ice shelf mask 226 mskisf_cav(:,:) = (1._wp - tmask(:,:,1)) * ssmask(:,:) 227 ! 228 ! compute ice shelf load 229 CALL isf_load( risfload ) 230 ! 231 END IF 245 ! terminate routine now if no ice shelf melt formulation specify 246 IF ( .NOT. ln_isf ) RETURN 232 247 ! 233 248 ! initialisation useful variable -
NEMO/branches/2019/ENHANCE-02_ISF_nemo/src/OCE/SBC/sbcmod.F90
r11395 r11489 42 42 USE sbcrnf ! surface boundary condition: runoffs 43 43 USE sbcapr ! surface boundary condition: atmo pressure 44 USE isf ! surface boundary condition: ice shelf45 44 USE sbcfwb ! surface boundary condition: freshwater budget 46 45 USE icbstp ! Icebergs … … 90 89 LOGICAL :: ll_purecpl, ll_opa, ll_not_nemo ! local logical 91 90 !! 92 NAMELIST/namsbc/ nn_fsbc , 93 & ln_usr , ln_flx , ln_blk ,&94 & ln_cpl , ln_mixcpl , nn_components,&95 & nn_ice , ln_ice_embd, 96 & ln_traqsr, ln_dm2dc ,&97 & ln_rnf , nn_fwb , ln_ssr , ln_isf , ln_apr_dyn ,&98 & ln_wave , ln_cdgw , ln_sdw , ln_tauwoc , ln_stcor ,&99 & ln_tauw , nn_lsm , nn_sdrift91 NAMELIST/namsbc/ nn_fsbc , & 92 & ln_usr , ln_flx , ln_blk , & 93 & ln_cpl , ln_mixcpl , nn_components, & 94 & nn_ice , ln_ice_embd, & 95 & ln_traqsr, ln_dm2dc , & 96 & ln_rnf , nn_fwb , ln_ssr , ln_apr_dyn, & 97 & ln_wave , ln_cdgw , ln_sdw , ln_tauwoc , ln_stcor, & 98 & ln_tauw , nn_lsm , nn_sdrift 100 99 !!---------------------------------------------------------------------- 101 100 ! … … 152 151 WRITE(numout,*) ' Patm gradient added in ocean & ice Eqs. ln_apr_dyn = ', ln_apr_dyn 153 152 WRITE(numout,*) ' runoff / runoff mouths ln_rnf = ', ln_rnf 154 WRITE(numout,*) ' iceshelf formulation ln_isf = ', ln_isf155 153 WRITE(numout,*) ' nb of iterations if land-sea-mask applied nn_lsm = ', nn_lsm 156 154 WRITE(numout,*) ' surface wave ln_wave = ', ln_wave -
NEMO/branches/2019/ENHANCE-02_ISF_nemo/src/OCE/TRA/trasbc.F90
r11395 r11489 10 10 !! - ! 2010-09 (C. Ethe, G. Madec) Merge TRA-TRC 11 11 !! 3.6 ! 2014-11 (P. Mathiot) isf melting forcing 12 !! 4.1 ! 2019-09 (P. Mathiot) isf moved in traisf 12 13 !!---------------------------------------------------------------------- 13 14 … … 60 61 !! (1) Fext, external forcing (i.e. flux through the (air+ice)-sea interface); 61 62 !! (2) Fwe , tracer carried with the water that is exchanged with air+ice. 62 !! The input forcing fields (emp, rnf, sfx , isf) contain Fext+Fwe,63 !! The input forcing fields (emp, rnf, sfx) contain Fext+Fwe, 63 64 !! they are simply added to the tracer trend (tsa). 64 65 !! In linear free surface case (ln_linssh=T), the volume of the
Note: See TracChangeset
for help on using the changeset viewer.