Changeset 5534 for branches/UKMO/dev_r5107_mld_zint/NEMOGCM/NEMO/LIM_SRC_3
- Timestamp:
- 2015-07-02T15:57:10+02:00 (9 years ago)
- Location:
- branches/UKMO/dev_r5107_mld_zint/NEMOGCM/NEMO/LIM_SRC_3
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5107_mld_zint/NEMOGCM/NEMO/LIM_SRC_3/limthd_dh.F90
r5447 r5534 30 30 31 31 PUBLIC lim_thd_dh ! called by lim_thd 32 PUBLIC lim_thd_snwblow ! called in sbcblk/sbcc pl and here32 PUBLIC lim_thd_snwblow ! called in sbcblk/sbcclio/sbccpl and here 33 33 34 34 INTERFACE lim_thd_snwblow … … 122 122 END SELECT 123 123 124 CALL wrk_alloc( jpij, zqprec, zq_su, zq_bo, zf_tt, zq_rema )125 CALL wrk_alloc( jpij, zdh_s_mel, zdh_s_pre, zdh_s_sub, zqh_i, zqh_s, zq_s , zsnw)124 CALL wrk_alloc( jpij, zqprec, zq_su, zq_bo, zf_tt, zq_rema, zsnw ) 125 CALL wrk_alloc( jpij, zdh_s_mel, zdh_s_pre, zdh_s_sub, zqh_i, zqh_s, zq_s ) 126 126 CALL wrk_alloc( jpij, nlay_i, zdeltah, zh_i ) 127 127 CALL wrk_alloc( jpij, nlay_i, icount ) 128 128 129 129 dh_i_surf (:) = 0._wp ; dh_i_bott (:) = 0._wp ; dh_snowice(:) = 0._wp 130 130 dsm_i_se_1d(:) = 0._wp ; dsm_i_si_1d(:) = 0._wp 131 132 zqprec (:) = 0._wp ; zq_su (:) = 0._wp ; zq_bo (:) = 0._wp ; zf_tt (:) = 0._wp 133 zq_rema(:) = 0._wp 134 135 zdh_s_pre(:) = 0._wp 136 zdh_s_mel(:) = 0._wp 137 zdh_s_sub(:) = 0._wp 138 zqh_s (:) = 0._wp 139 zqh_i (:) = 0._wp 140 141 zh_i (:,:) = 0._wp 142 zdeltah (:,:) = 0._wp 143 icount (:,:) = 0 131 132 zqprec (:) = 0._wp ; zq_su (:) = 0._wp ; zq_bo (:) = 0._wp ; zf_tt(:) = 0._wp 133 zq_rema (:) = 0._wp ; zsnw (:) = 0._wp 134 zdh_s_mel(:) = 0._wp ; zdh_s_pre(:) = 0._wp ; zdh_s_sub(:) = 0._wp ; zqh_i(:) = 0._wp 135 zqh_s (:) = 0._wp ; zq_s (:) = 0._wp 136 137 zdeltah(:,:) = 0._wp ; zh_i(:,:) = 0._wp 138 icount (:,:) = 0 139 144 140 145 141 ! Initialize enthalpy at nlay_i+1 … … 223 219 ! Martin Vancoppenolle, December 2006 224 220 221 CALL lim_thd_snwblow( 1. - at_i_1d(kideb:kiut), zsnw(kideb:kiut) ) ! snow distribution over ice after wind blowing 222 225 223 zdeltah(:,:) = 0._wp 226 CALL lim_thd_snwblow( 1. - at_i_1d, zsnw ) ! snow distribution over ice after wind blowing227 224 DO ji = kideb, kiut 228 225 !----------- … … 689 686 WHERE( ht_i_1d == 0._wp ) a_i_1d = 0._wp 690 687 691 CALL wrk_dealloc( jpij, zqprec, zq_su, zq_bo, zf_tt, zq_rema )692 CALL wrk_dealloc( jpij, zdh_s_mel, zdh_s_pre, zdh_s_sub, zqh_i, zqh_s, zq_s , zsnw)688 CALL wrk_dealloc( jpij, zqprec, zq_su, zq_bo, zf_tt, zq_rema, zsnw ) 689 CALL wrk_dealloc( jpij, zdh_s_mel, zdh_s_pre, zdh_s_sub, zqh_i, zqh_s, zq_s ) 693 690 CALL wrk_dealloc( jpij, nlay_i, zdeltah, zh_i ) 694 691 CALL wrk_dealloc( jpij, nlay_i, icount ) … … 703 700 !!-------------------------------------------------------------------------- 704 701 SUBROUTINE lim_thd_snwblow_2d( pin, pout ) 705 REAL(wp), DIMENSION(:,:), INTENT(in ):: pin ! previous fraction lead ( pfrld or (1. - a_i_b) )706 REAL(wp), DIMENSION(:,:), INTENT( out) :: pout702 REAL(wp), DIMENSION(:,:), INTENT(in ) :: pin ! previous fraction lead ( pfrld or (1. - a_i_b) ) 703 REAL(wp), DIMENSION(:,:), INTENT(inout) :: pout 707 704 pout = ( 1._wp - ( pin )**rn_betas ) 708 705 END SUBROUTINE lim_thd_snwblow_2d 709 706 710 707 SUBROUTINE lim_thd_snwblow_1d( pin, pout ) 711 REAL(wp), DIMENSION(:), INTENT(in ):: pin712 REAL(wp), DIMENSION(:), INTENT( out) :: pout708 REAL(wp), DIMENSION(:), INTENT(in ) :: pin 709 REAL(wp), DIMENSION(:), INTENT(inout) :: pout 713 710 pout = ( 1._wp - ( pin )**rn_betas ) 714 711 END SUBROUTINE lim_thd_snwblow_1d -
branches/UKMO/dev_r5107_mld_zint/NEMOGCM/NEMO/LIM_SRC_3/limthd_dif.F90
r5447 r5534 756 756 757 757 ! --- diagnose the change in non-solar flux due to surface temperature change --- ! 758 IF ( ln_it_qnsice ) hfx_err_dif_1d(:) = hfx_err_dif_1d(:) - ( qns_ice_1d(:) - zqns_ice_b(:) ) * a_i_1d(:) 758 IF ( ln_it_qnsice ) THEN 759 DO ji = kideb, kiut 760 hfx_err_dif_1d(ji) = hfx_err_dif_1d(ji) - ( qns_ice_1d(ji) - zqns_ice_b(ji) ) * a_i_1d(ji) 761 END DO 762 END IF 759 763 760 764 ! --- diag conservation imbalance on heat diffusion - PART 2 --- ! … … 790 794 CALL wrk_dealloc( jpij, numeqmin, numeqmax ) 791 795 CALL wrk_dealloc( jpij, isnow, ztsub, ztsubit, zh_i, zh_s, zfsw ) 792 CALL wrk_dealloc( jpij, zf, dzf, z errit, zdifcase, zftrice, zihic, zghe )796 CALL wrk_dealloc( jpij, zf, dzf, zqns_ice_b, zerrit, zdifcase, zftrice, zihic, zghe ) 793 797 CALL wrk_dealloc( jpij,nlay_i+1, ztcond_i, zradtr_i, zradab_i, zkappa_i, ztib, zeta_i, ztitemp, z_i, zspeche_i, kjstart = 0 ) 794 798 CALL wrk_dealloc( jpij,nlay_s+1, zradtr_s, zradab_s, zkappa_s, ztsb, zeta_s, ztstemp, z_s, kjstart = 0 ) -
branches/UKMO/dev_r5107_mld_zint/NEMOGCM/NEMO/LIM_SRC_3/limwri.F90
r5447 r5534 60 60 REAL(wp) :: z1_365 61 61 REAL(wp) :: ztmp 62 REAL(wp), POINTER, DIMENSION(:,:,:) :: zoi, zei 62 REAL(wp), POINTER, DIMENSION(:,:,:) :: zoi, zei, zt_i, zt_s 63 63 REAL(wp), POINTER, DIMENSION(:,:) :: z2d, z2da, z2db, zswi ! 2D workspace 64 64 !!------------------------------------------------------------------- … … 66 66 IF( nn_timing == 1 ) CALL timing_start('limwri') 67 67 68 CALL wrk_alloc( jpi, jpj, jpl, zoi, zei )68 CALL wrk_alloc( jpi, jpj, jpl, zoi, zei, zt_i, zt_s ) 69 69 CALL wrk_alloc( jpi, jpj , z2d, z2da, z2db, zswi ) 70 70 … … 243 243 CALL iom_put( "snowthic_cat" , ht_s ) ! snow depth for categories 244 244 CALL iom_put( "salinity_cat" , sm_i ) ! salinity for categories 245 246 ! ice temperature 247 IF ( iom_use( "icetemp_cat" ) ) THEN 248 zt_i(:,:,:) = SUM( t_i(:,:,:,:), dim=3 ) * r1_nlay_i 249 CALL iom_put( "icetemp_cat" , zt_i - rt0 ) 250 ENDIF 251 252 ! snow temperature 253 IF ( iom_use( "snwtemp_cat" ) ) THEN 254 zt_s(:,:,:) = SUM( t_s(:,:,:,:), dim=3 ) * r1_nlay_s 255 CALL iom_put( "snwtemp_cat" , zt_s - rt0 ) 256 ENDIF 245 257 246 258 ! Compute ice age … … 280 292 ! not yet implemented 281 293 282 CALL wrk_dealloc( jpi, jpj, jpl, zoi, zei )294 CALL wrk_dealloc( jpi, jpj, jpl, zoi, zei, zt_i, zt_s ) 283 295 CALL wrk_dealloc( jpi, jpj , z2d, zswi, z2da, z2db ) 284 296
Note: See TracChangeset
for help on using the changeset viewer.