Changeset 11601 for NEMO/trunk/src/ICE/icectl.F90
 Timestamp:
 20190926T16:54:45+02:00 (13 months ago)
 File:

 1 edited
Legend:
 Unmodified
 Added
 Removed

NEMO/trunk/src/ICE/icectl.F90
r11536 r11601 44 44 PUBLIC ice_prt3D 45 45 46 ! thresold values for conservation46 ! thresold rates for conservation 47 47 ! these values are changed by the namelist parameter rn_icechk, so that threshold = zchk * rn_icechk 48 REAL(wp), PARAMETER :: zchk_m = 1.e5 ! kg/m2/s <=> 1mm of ice per yearspuriously gained/lost49 REAL(wp), PARAMETER :: zchk_s = 1.e4 ! g/m2/s <=> 1mm of ice per yearspuriously gained/lost (considering s=10g/kg)50 REAL(wp), PARAMETER :: zchk_t = 3. ! W/m2 <=> 1mm of ice per yearspuriously gained/lost (considering Lf=3e5J/kg)48 REAL(wp), PARAMETER :: zchk_m = 2.5e7 ! kg/m2/s <=> 1e6 m of ice per hour spuriously gained/lost 49 REAL(wp), PARAMETER :: zchk_s = 2.5e6 ! g/m2/s <=> 1e6 m of ice per hour spuriously gained/lost (considering s=10g/kg) 50 REAL(wp), PARAMETER :: zchk_t = 7.5e2 ! W/m2 <=> 1e6 m of ice per hour spuriously gained/lost (considering Lf=3e5J/kg) 51 51 52 52 !! * Substitutions … … 68 68 !! ** Method : This is an online diagnostics which can be activated with ln_icediachk=true 69 69 !! It prints in ocean.output if there is a violation of conservation at each timestep 70 !! The thresholds (zchk_m, zchk_s, zchk_t) which determine violations are set to 71 !! a minimum of 1 mm of ice (over the ice area) that is lost/gained spuriously during 100 years. 70 !! The thresholds (zchk_m, zchk_s, zchk_t) determine violations 72 71 !! For salt and heat thresholds, ice is considered to have a salinity of 10 73 72 !! and a heat content of 3e5 J/kg (=latent heat of fusion) … … 133 132 134 133 !  advection scheme is conservative?  ! 135 zvtrp = glob_sum( 'icectl', ( diag_trp_vi * rhoi + diag_trp_vs * rhos ) * e1e2t ) ! must be close to 0 136 zetrp = glob_sum( 'icectl', ( diag_trp_ei + diag_trp_es ) * e1e2t ) ! must be close to 0 134 zvtrp = glob_sum( 'icectl', ( diag_trp_vi * rhoi + diag_trp_vs * rhos ) * e1e2t ) ! must be close to 0 (only for Prather) 135 zetrp = glob_sum( 'icectl', ( diag_trp_ei + diag_trp_es ) * e1e2t ) ! must be close to 0 (only for Prather) 137 136 138 137 ! ice area (+epsi10 to set a threshold > 0 when there is no ice) … … 157 156 & WRITE(numout,*) cd_routine,' : violation a_i > amax = ',zdiag_amax 158 157 ! check if advection scheme is conservative 159 IF( ABS(zvtrp) > zchk_m * rn_icechk_glo * zarea .AND. cd_routine == 'icedyn_adv' ) & 158 ! only check for Prather because UltimateMacho uses corrective fluxes (wfx etc) 159 ! so the formulation for conservation is different (and not coded) 160 ! it does not mean UM is not conservative (it is checked with above prints) 161 IF( ln_adv_Pra .AND. ABS(zvtrp) > zchk_m * rn_icechk_glo * zarea .AND. cd_routine == 'icedyn_adv' ) & 160 162 & WRITE(numout,*) cd_routine,' : violation adv scheme [kg] = ',zvtrp * rdt_ice 161 163 ENDIF … … 173 175 !! ** Method : This is an online diagnostics which can be activated with ln_icediachk=true 174 176 !! It prints in ocean.output if there is a violation of conservation at each timestep 175 !! The thresholds (zchk_m, zchk_s, zchk_t) which determine the violation are set to 176 !! a minimum of 1 mm of ice (over the ice area) that is lost/gained spuriously during 100 years. 177 !! The thresholds (zchk_m, zchk_s, zchk_t) determine the violations 177 178 !! For salt and heat thresholds, ice is considered to have a salinity of 10 178 179 !! and a heat content of 3e5 J/kg (=latent heat of fusion)
Note: See TracChangeset
for help on using the changeset viewer.