- Timestamp:
- 2012-05-17T18:33:12+02:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2012/dev_r3385_NOCS04_HAMF/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90
r3294 r3396 664 664 !! ** Action : update utau, vtau ocean stress at U,V grid 665 665 !! taum, wndm wind stres and wind speed module at T-point 666 !! qns , qsr non solar and solar ocean heat fluxes ('ocean only case) 667 !! emp = emps evap. - precip. (- runoffs) (- calving) ('ocean only case) 666 !! qns non solar heat fluxes including emp heat content (ocean only case) 667 !! and the latent heat flux of solid precip. melting 668 !! qsr solar ocean heat fluxes (ocean only case) 669 !! emp upward mass flux [evap. - precip. (- runoffs) (- calving)] (ocean only case) 668 670 !!---------------------------------------------------------------------- 669 671 INTEGER, INTENT(in) :: kt ! ocean model time step index … … 821 823 ! ! ========================= ! 822 824 ! 823 ! ! non solar heat flux over the ocean (qns)824 IF( srcv(jpr_qnsoce)%laction ) qns(:,:) = frcv(jpr_qnsoce)%z3(:,:,1)825 IF( srcv(jpr_qnsmix)%laction ) qns(:,:) = frcv(jpr_qnsmix)%z3(:,:,1)826 ! add the latent heat of solid precip. melting827 IF( srcv(jpr_snow )%laction ) qns(:,:) = qns(:,:) - frcv(jpr_snow)%z3(:,:,1) * lfus828 829 ! ! solar flux over the ocean (qsr)830 IF( srcv(jpr_qsroce)%laction ) qsr(:,:) = frcv(jpr_qsroce)%z3(:,:,1)831 IF( srcv(jpr_qsrmix)%laction ) qsr(:,:) = frcv(jpr_qsrmix)%z3(:,:,1)832 IF( ln_dm2dc ) qsr(:,:) = sbc_dcy( qsr ) ! modify qsr to include the diurnal cycle833 !834 825 ! ! total freshwater fluxes over the ocean (emp, emps) 835 826 SELECT CASE( TRIM( sn_rcv_emp%cldes ) ) ! evaporation - precipitation … … 863 854 !!gm end of internal cooking 864 855 ! 865 emps(:,:) = emp(:,:) ! concentration/dilution = emp 856 ! ! non solar heat flux over the ocean (qns) 857 IF( srcv(jpr_qnsoce)%laction ) qns(:,:) = frcv(jpr_qnsoce)%z3(:,:,1) 858 IF( srcv(jpr_qnsmix)%laction ) qns(:,:) = frcv(jpr_qnsmix)%z3(:,:,1) 859 ! add the latent heat of solid precip. melting 860 IF( srcv(jpr_snow )%laction ) THEN ! update qns over the free ocean with: 861 qns(:,:) = qns(:,:) - frcv(jpr_snow)%z3(:,:,1) * lfus & ! energy for melting solid precipitation over the free ocean 862 & - emp(:,:) * sst_m(:,:) * rcp ! remove heat content due to mass flux (assumed to be at SST) 863 ENDIF 864 865 ! ! solar flux over the ocean (qsr) 866 IF( srcv(jpr_qsroce)%laction ) qsr(:,:) = frcv(jpr_qsroce)%z3(:,:,1) 867 IF( srcv(jpr_qsrmix)%laction ) qsr(:,:) = frcv(jpr_qsrmix)%z3(:,:,1) 868 IF( ln_dm2dc ) qsr(:,:) = sbc_dcy( qsr ) ! modify qsr to include the diurnal cycle 869 ! 866 870 867 871 ENDIF … … 1141 1145 1142 1146 zicefr(:,:) = 1.- p_frld(:,:) 1143 IF( lk_diaar5 ) zcptn(:,:) = rcp * tsn(:,:,1,jp_tem) 1147 !zcptn(:,:) = rcp * tsn(:,:,1,jp_tem) 1148 zcptn(:,:) = rcp * sst_m(:,:) 1144 1149 ! 1145 1150 ! ! ========================= ! … … 1233 1238 & + pist(:,:,1) * zicefr(:,:) ) ) 1234 1239 END SELECT 1235 ztmp(:,:) = p_frld(:,:) * sprecip(:,:) * lfus ! add the latent heat of solid precip. melting 1236 qns_tot(:,:) = qns_tot(:,:) - ztmp(:,:) ! over free ocean 1240 ztmp(:,:) = p_frld(:,:) * sprecip(:,:) * lfus 1241 qns_tot(:,:) = qns_tot(:,:) & ! qns_tot update over free ocean with: 1242 & - ztmp(:,:) & ! remove the latent heat flux of solid precip. melting 1243 & + ( emp_tot(:,:) & ! remove the heat content of mass flux (assumed to be at SST) 1244 & - emp_ice(:,:) * p_frld(:,:,1) ) * zcptn(:,:) 1237 1245 IF( lk_diaar5 ) CALL iom_put( 'hflx_snow_cea', ztmp + sprecip(:,:) * zcptn(:,:) ) ! heat flux from snow (cell average) 1238 1246 !!gm
Note: See TracChangeset
for help on using the changeset viewer.