- Timestamp:
- 2019-11-27T15:50:29+01:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/ENHANCE-02_ISF_nemo/tests/ISOMIP+/MY_SRC/isfstp.F90
r11931 r11987 14 14 !!---------------------------------------------------------------------- 15 15 ! 16 USE isf ! isf variables16 USE isf_oce ! isf variables 17 17 USE isfload, ONLY: isf_load ! ice shelf load 18 18 USE isftbl , ONLY: isf_tbl_lvl ! ice shelf boundary layer … … 26 26 ! 27 27 USE lib_mpp, ONLY: ctl_stop, ctl_nam 28 USE fldread, ONLY: FLD, FLD_N 28 29 USE in_out_manager ! I/O manager 29 30 USE timing … … 62 63 IF( ln_timing ) CALL timing_start('isf') 63 64 ! 65 !======================================================================= 66 ! 1.: compute melt and associated heat fluxes in the ice shelf cavities 67 !======================================================================= 68 ! 64 69 IF ( ln_isfcav_mlt ) THEN 65 70 ! 66 ! before time step71 ! 1.1: before time step 67 72 IF ( kt /= nit000 ) THEN 68 73 risf_cav_tsc_b (:,:,:) = risf_cav_tsc (:,:,:) … … 70 75 END IF 71 76 ! 72 ! compute misfkb, rhisf_tbl, rfrac (deepest level, thickness, fraction of deepest cell affected by tbl)77 ! 1.2: compute misfkb, rhisf_tbl, rfrac (deepest level, thickness, fraction of deepest cell affected by tbl) 73 78 rhisf_tbl_cav(:,:) = rn_htbl * mskisf_cav(:,:) 74 79 CALL isf_tbl_lvl(ht_n, e3t_n, misfkt_cav, misfkb_cav, rhisf_tbl_cav, rfrac_tbl_cav) 75 80 ! 76 ! compute ice shelf melt81 ! 1.3: compute ice shelf melt 77 82 CALL isf_cav( kt, risf_cav_tsc, fwfisf_cav) 78 83 ! 79 84 END IF 80 85 ! 86 !================================================================================= 87 ! 2.: compute melt and associated heat fluxes for not resolved ice shelf cavities 88 !================================================================================= 89 ! 81 90 IF ( ln_isfpar_mlt ) THEN 82 91 ! 83 ! before time step92 ! 2.1: before time step 84 93 IF ( kt /= nit000 ) THEN 85 94 risf_par_tsc_b(:,:,:) = risf_par_tsc(:,:,:) … … 87 96 END IF 88 97 ! 89 ! compute misfkb, rhisf_tbl, rfrac (deepest level, thickness, fraction of deepest cell affected by tbl)90 ! by simplicity, we assume the top level where param applied do not change with time 98 ! 2.2: compute misfkb, rhisf_tbl, rfrac (deepest level, thickness, fraction of deepest cell affected by tbl) 99 ! by simplicity, we assume the top level where param applied do not change with time (done in init part) 91 100 rhisf_tbl_par(:,:) = rhisf0_tbl_par(:,:) 92 101 CALL isf_tbl_lvl(ht_n, e3t_n, misfkt_par, misfkb_par, rhisf_tbl_par, rfrac_tbl_par) 93 102 ! 94 ! compute ice shelf melt103 ! 2.3: compute ice shelf melt 95 104 CALL isf_par( kt, risf_par_tsc, fwfisf_par) 96 105 ! 97 106 END IF 98 107 ! 99 IF ( ln_isfcpl ) THEN 100 ! after step nit000 + 2 we do not need anymore the risfcpl_ arrays 101 IF ( kt == nit000 + 2 ) CALL isf_dealloc_cpl() 102 103 IF ( lrst_oce ) CALL isfcpl_rst_write(kt) 104 END IF 108 !================================================================================== 109 ! 3.: output specific restart variable in case of coupling with an ice sheet model 110 !================================================================================== 111 ! 112 IF ( ln_isfcpl .AND. lrst_oce ) CALL isfcpl_rst_write(kt) 105 113 ! 106 114 IF( ln_timing ) CALL timing_stop('isf') … … 177 185 WRITE(numout,*) ' melt inside the cavity ln_isfcav_mlt = ', ln_isfcav_mlt 178 186 IF ( ln_isfcav_mlt) THEN 179 WRITE(numout,*) ' melt formulation cn_isfcav_mlt= ', TRIM(cn_isfcav_mlt)180 WRITE(numout,*) ' thickness of the top boundary layer rn_htbl= ', rn_htbl181 WRITE(numout,*) ' gamma formulation cn_gammablk= ', TRIM(cn_gammablk)187 WRITE(numout,*) ' melt formulation cn_isfcav_mlt= ', TRIM(cn_isfcav_mlt) 188 WRITE(numout,*) ' thickness of the top boundary layer rn_htbl = ', rn_htbl 189 WRITE(numout,*) ' gamma formulation cn_gammablk = ', TRIM(cn_gammablk) 182 190 IF ( TRIM(cn_gammablk) .NE. 'spe' ) THEN 183 WRITE(numout,*) ' gammat coefficient rn_gammat0 = ', rn_gammat0184 WRITE(numout,*) ' gammas coefficient rn_gammas0 = ', rn_gammas0185 WRITE(numout,*) ' top background ke used (from namdrg_top) rn_vtide**2 = ', rn_vtide**2186 WRITE(numout,*) ' top drag coef. used (from namdrg_top) rn_Cd0 = ', r_Cdmin_top191 WRITE(numout,*) ' gammat coefficient rn_gammat0 = ', rn_gammat0 192 WRITE(numout,*) ' gammas coefficient rn_gammas0 = ', rn_gammas0 193 WRITE(numout,*) ' top background ke used (from namdrg_top) rn_vtide**2 = ', rn_vtide**2 194 WRITE(numout,*) ' top drag coef. used (from namdrg_top) rn_Cd0 = ', r_Cdmin_top 187 195 END IF 188 196 END IF … … 214 222 IF (ln_isfcav) WRITE(numout,*) ' Ice shelf load method cn_isfload = ', TRIM(cn_isfload) 215 223 WRITE(numout,*) '' 224 FLUSH(numout) 216 225 217 226 END IF
Note: See TracChangeset
for help on using the changeset viewer.