Changeset 8920 for branches/2017/dev_CNRS_2017/NEMOGCM/NEMO/OPA_SRC
- Timestamp:
- 2017-12-06T15:33:57+01:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_CNRS_2017/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk.F90
r8885 r8920 68 68 PUBLIC sbc_blk ! called in sbcmod 69 69 #if defined key_lim3 70 PUBLIC blk_ice_tau ! routine called in ice stp module71 PUBLIC blk_ice_flx ! routine called in ice stp module72 PUBLIC blk_ice_qcn ! routine called in ice stp module70 PUBLIC blk_ice_tau ! routine called in iceforcing 71 PUBLIC blk_ice_flx ! routine called in iceforcing 72 PUBLIC blk_ice_qcn ! routine called in iceforcing 73 73 #endif 74 74 … … 1041 1041 CASE ( 1 , 3 ) 1042 1042 ! 1043 zfac =1._wp / ( rn_cnd_s + rcdic )1044 zfac2 =EXP(1._wp) * 0.5_wp * zepsilon1045 zfac3 =2._wp / zepsilon1043 zfac = 1._wp / ( rn_cnd_s + rcdic ) 1044 zfac2 = EXP(1._wp) * 0.5_wp * zepsilon 1045 zfac3 = 2._wp / zepsilon 1046 1046 ! 1047 1047 DO jl = 1, jpl 1048 1048 DO jj = 1 , jpj 1049 1049 DO ji = 1, jpi 1050 ! ! Effective thickness 1051 zhe = ( rn_cnd_s * phi(ji,jj,jl) + rcdic * phs(ji,jj,jl) ) * zfac 1052 ! ! Enhanced conduction factor 1053 IF( zhe >= zfac2 ) & 1054 zgfac(ji,jj,jl) = MIN( 2._wp, ( 0.5_wp + 0.5 * LOG( zhe * zfac3 ) ) ) 1050 zhe = ( rn_cnd_s * phi(ji,jj,jl) + rcdic * phs(ji,jj,jl) ) * zfac ! Effective thickness 1051 IF( zhe >= zfac2 ) zgfac(ji,jj,jl) = MIN( 2._wp, 0.5_wp * ( 1._wp + LOG( zhe * zfac3 ) ) ) ! Enhanced conduction factor 1055 1052 END DO 1056 1053 END DO … … 1063 1060 ! -------------------------------------------------------------! 1064 1061 ! 1065 zfac = rcdic * rn_cnd_s 1066 ! ! ========================== ! 1067 DO jl = 1, jpl ! Loop over ice categories ! 1068 ! ! ========================== ! 1062 zfac = rcdic * rn_cnd_s 1063 ! 1064 DO jl = 1, jpl 1069 1065 DO jj = 1 , jpj 1070 1066 DO ji = 1, jpi 1071 ! ! Effective conductivity of the snow-ice system divided by thickness 1072 zkeff_h = zfac * zgfac(ji,jj,jl) / ( rcdic * phs(ji,jj,jl) + rn_cnd_s * phi(ji,jj,jl) ) 1073 ! ! Store initial surface temperature 1074 ztsu = ptsu(ji,jj,jl) 1075 ! ! Net initial atmospheric heat flux 1076 zqa0 = qsr_ice(ji,jj,jl) - qsr_ice_tr(ji,jj,jl) + qns_ice(ji,jj,jl) 1067 ! 1068 zkeff_h = zfac * zgfac(ji,jj,jl) / & ! Effective conductivity of the snow-ice system divided by thickness 1069 & ( rcdic * phs(ji,jj,jl) + rn_cnd_s * MAX( 0.01, phi(ji,jj,jl) ) ) 1070 ztsu = ptsu(ji,jj,jl) ! Store initial surface temperature 1071 zqa0 = qsr_ice(ji,jj,jl) - qsr_ice_tr(ji,jj,jl) + qns_ice(ji,jj,jl) ! Net initial atmospheric heat flux 1077 1072 ! 1078 DO iter = 1, nit ! --- Iteration loop 1079 ! ! Conduction heat flux through snow-ice system (>0 downwards) 1080 zqc = zkeff_h * ( ztsu - ptb(ji,jj) ) 1081 ! ! Surface energy budget 1082 zqnet = zqa0 + dqns_ice(ji,jj,jl) * ( ztsu - ptsu(ji,jj,jl) ) - zqc 1083 ! ! Temperature update 1084 ztsu = ztsu - zqnet / ( dqns_ice(ji,jj,jl) - zkeff_h ) 1073 DO iter = 1, nit ! --- Iterative loop 1074 zqc = zkeff_h * ( ztsu - ptb(ji,jj) ) ! Conduction heat flux through snow-ice system (>0 downwards) 1075 zqnet = zqa0 + dqns_ice(ji,jj,jl) * ( ztsu - ptsu(ji,jj,jl) ) - zqc ! Surface energy budget 1076 ztsu = ztsu - zqnet / ( dqns_ice(ji,jj,jl) - zkeff_h ) ! Temperature update 1085 1077 END DO 1086 1078 !
Note: See TracChangeset
for help on using the changeset viewer.