Changeset 11987 for NEMO/branches/2019/ENHANCE-02_ISF_nemo/tests/ISOMIP+
- Timestamp:
- 2019-11-27T15:50:29+01:00 (4 years ago)
- Location:
- NEMO/branches/2019/ENHANCE-02_ISF_nemo/tests/ISOMIP+/MY_SRC
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/ENHANCE-02_ISF_nemo/tests/ISOMIP+/MY_SRC/isfcavgam.F90
r11889 r11987 10 10 !! isfcav_gammats : compute exchange coeficient gamma 11 11 !!---------------------------------------------------------------------- 12 USE isf 12 USE isf_oce 13 13 USE isfutils, ONLY: debug 14 14 USE isftbl , ONLY: isf_tbl … … 57 57 !!--------------------------------------------------------------------- 58 58 ! 59 ! compute velocity in the tbl if needed 59 !========================================== 60 ! 1.: compute velocity in the tbl if needed 61 !========================================== 62 ! 60 63 SELECT CASE ( cn_gammablk ) 61 64 CASE ( 'spe' ) … … 78 81 END SELECT 79 82 ! 80 ! compute gamma 83 !========================================== 84 ! 2.: compute gamma 85 !========================================== 86 ! 81 87 SELECT CASE ( cn_gammablk ) 82 88 CASE ( 'spe' ) ! gamma is constant (specified in namelist) … … 86 92 CALL gammats_AD15 ( zutbl, zvtbl, rCd0_top, rn_vtide**2, pgt, pgs ) 87 93 CASE ( 'hj99' ) ! gamma depends of stability of boundary layer and u* 88 CALL gammats_HJ99 (pttbl, pstbl, zutbl, zvtbl, rCd0_top, r_ke0_top 94 CALL gammats_HJ99 (pttbl, pstbl, zutbl, zvtbl, rCd0_top, r_ke0_top, pqoce, pqfwf, pgt, pgs ) 89 95 CASE DEFAULT 90 96 CALL ctl_stop('STOP','method to compute gamma (cn_gammablk) is unknown (should not see this)') 91 97 END SELECT 92 98 ! 93 ! ouput exchange coeficient and tbl velocity 99 !========================================== 100 ! 3.: output and debug 101 !========================================== 102 ! 94 103 CALL iom_put('isfgammat', pgt(:,:)) 95 104 CALL iom_put('isfgammas', pgs(:,:)) -
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 -
NEMO/branches/2019/ENHANCE-02_ISF_nemo/tests/ISOMIP+/MY_SRC/sbcfwb.F90
r11931 r11987 17 17 USE dom_oce ! ocean space and time domain 18 18 USE sbc_oce ! surface ocean boundary condition 19 USE isf_oce ! ice shelf melting contribution 19 20 USE sbc_ice , ONLY : snwice_mass, snwice_mass_b, snwice_fmass 20 21 USE phycst ! physical constants 21 22 USE sbcrnf ! ocean runoffs 22 USE isf ! ice shelf melting contribution23 23 USE sbcssr ! Sea-Surface damping terms 24 USE tradmp !25 24 ! 26 25 USE in_out_manager ! I/O manager
Note: See TracChangeset
for help on using the changeset viewer.