Changeset 9987 for branches/UKMO/dev_r5518_obs_oper_update_icethick/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_core.F90
- Timestamp:
- 2018-07-23T11:33:03+02:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_obs_oper_update_icethick/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_core.F90
r7960 r9987 91 91 REAL(wp) :: rn_zqt ! z(q,t) : height of humidity and temperature measurements 92 92 REAL(wp) :: rn_zu ! z(u) : height of wind measurements 93 REAL(wp), PUBLIC :: rn_sfac ! multiplication factor for snow precipitation over sea-ice 93 94 94 95 !! * Substitutions … … 151 152 & sn_wndi, sn_wndj, sn_humi , sn_qsr , & 152 153 & sn_qlw , sn_tair, sn_prec , sn_snow, & 153 & sn_tdif, rn_zqt, rn_zu 154 & sn_tdif, rn_zqt, rn_zu, rn_sfac 154 155 !!--------------------------------------------------------------------- 155 156 ! … … 158 159 ! ! ====================== ! 159 160 ! 161 rn_sfac = 1._wp ! Default to one if missing from namelist 160 162 REWIND( numnam_ref ) ! Namelist namsbc_core in reference namelist : CORE bulk parameters 161 163 READ ( numnam_ref, namsbc_core, IOSTAT = ios, ERR = 901) … … 206 208 IF( MOD( kt - 1, nn_fsbc ) == 0 ) THEN 207 209 qlw_ice(:,:,1) = sf(jp_qlw)%fnow(:,:,1) 208 qsr_ice(:,:,1) = sf(jp_qsr)%fnow(:,:,1) 210 IF( ln_dm2dc ) THEN ; qsr_ice(:,:,1) = sbc_dcy( sf(jp_qsr)%fnow(:,:,1) ) 211 ELSE ; qsr_ice(:,:,1) = sf(jp_qsr)%fnow(:,:,1) 212 ENDIF 209 213 tatm_ice(:,:) = sf(jp_tair)%fnow(:,:,1) 210 214 qatm_ice(:,:) = sf(jp_humi)%fnow(:,:,1) … … 403 407 CALL iom_put( "qsr_oce" , qsr ) ! output downward solar heat over the ocean 404 408 CALL iom_put( "qt_oce" , qns+qsr ) ! output total downward heat over the ocean 409 tprecip(:,:) = sf(jp_prec)%fnow(:,:,1) * rn_pfac ! output total precipitation [kg/m2/s] 410 sprecip(:,:) = sf(jp_snow)%fnow(:,:,1) * rn_pfac ! output solid precipitation [kg/m2/s] 411 CALL iom_put( 'snowpre', sprecip * 86400. ) ! Snow 412 CALL iom_put( 'precip' , tprecip * 86400. ) ! Total precipitation 405 413 ENDIF 406 414 ! … … 608 616 ! --- evaporation --- ! 609 617 z1_lsub = 1._wp / Lsub 610 evap_ice (:,:,:) = qla_ice (:,:,:) * z1_lsub! sublimation611 devap_ice(:,:,:) = dqla_ice(:,:,:) * z1_lsub612 zevap (:,:) = emp(:,:) + tprecip(:,:)! evaporation over ocean618 evap_ice (:,:,:) = rn_efac * qla_ice (:,:,:) * z1_lsub ! sublimation 619 devap_ice(:,:,:) = rn_efac * dqla_ice(:,:,:) * z1_lsub ! d(sublimation)/dT 620 zevap (:,:) = rn_efac * ( emp(:,:) + tprecip(:,:) ) ! evaporation over ocean 613 621 614 622 ! --- evaporation minus precipitation --- ! … … 633 641 ! --- heat content of precip over ice in J/m3 (to be used in 1D-thermo) --- ! 634 642 qprec_ice(:,:) = rhosn * ( ( MIN( sf(jp_tair)%fnow(:,:,1), rt0_snow ) - rt0 ) * cpic * tmask(:,:,1) - lfus ) 643 644 ! --- heat content of evap over ice in W/m2 (to be used in 1D-thermo) --- ! 645 DO jl = 1, jpl 646 qevap_ice(:,:,jl) = 0._wp ! should be -evap_ice(:,:,jl)*( ( Tice - rt0 ) * cpic * tmask(:,:,1) ) 647 ! But we do not have Tice => consider it at 0°C => evap=0 648 END DO 635 649 636 650 CALL wrk_dealloc( jpi,jpj, zevap, zsnw )
Note: See TracChangeset
for help on using the changeset viewer.