subroutine flxrhc(wspd,sst,qa,rh,str,flxlh,flxsh) CC known: wspd, sst, qa (humidity mixing ratio), rh CC calculated values: str (wind stress), flxlh (latent heat flux) CC flxsh (sensible heat flux) CC UNITS: K, N, J, M, KG, S etc. CC all wspd, ta, qa and calculations are made at 10 m level PARAMETER (cp0=1.004d3) PARAMETER (cflv0=4.1868e3, cflv1=597.31, cflv2=0.56525) DATA PR/1.01325e5/ call airrhc(sst,qa,rh,qss,qsa,ta,da) c if(qss.lt.qa) qss=qsa qs0=0.98*qss c if(qs0.lt.qa) qs0=qa CC reduction in Qss for SSS CC NOTE: old codes used qs0=qss CC virtual potential temp.: thetav=ta*(1.0+0.47e-3*(ta/273.15)*qa)+0.0098*10.0 tvs=sst*(1.0+0.47e-3*(sst/273.15)*qss) dtv=tvs-thetav call wndcof(dtv,wspd,cofdrg,cofshf,cofevp) CC potential temp.: theta = T + 0.01*Z theta=ta+0.0098*10.0 cpa=cp0*(1.0+0.9*qa) vL=cflv0*(cflv1-cflv2*(ta-273.15)) str = da*cofdrg*wspd*wspd flxlh= da*cofevp*wspd*(qs0-qa)*vL flxsh= da*cofshf*wspd*(sst-theta)*cpa return END subroutine flxtac(wspd,sst,qa,ta,str,flxlh,flxsh) CC known: wspd, sst, qa (humidity mixing ratio), ta (air temp) CC calculated values: str (wind stress), flxlh (latent heat flux) CC flxsh (sensible heat flux) CC UNITS: K, N, J, M, KG, S etc. CC all wspd, ta, qa and calculations are made at 10 m level PARAMETER (cp0=1.004d3) PARAMETER (cflv0=4.1868e3, cflv1=597.31, cflv2=0.56525) DATA PR/1.01325e5/ call airtac(sst,qa,ta,qss,qsa,rh,da) c if(qss.lt.qa) qss=qsa qs0=0.98*qss c if(qs0.lt.qa) qs0=qa CC reduction in Qss for SSS CC NOTE: old codes used qs0=qss CC virtual potential temp.: thetav=ta*(1.0+0.47e-3*(ta/273.15)*qa)+0.0098*10.0 tvs=sst*(1.0+0.47e-3*(sst/273.15)*qss) dtv=tvs-thetav call wndcof(dtv,wspd,cofdrg,cofshf,cofevp) CC potential temp.: theta = T + 0.01*Z theta=ta+0.0098*10.0 cpa=cp0*(1.0+0.9*qa) vL=cflv0*(cflv1-cflv2*(ta-273.15)) str = da*cofdrg*wspd*wspd flxlh= da*cofevp*wspd*(qs0-qa)*vL flxsh= da*cofshf*wspd*(sst-theta)*cpa return END