|
||||
File indexing completed on 2018-03-02 18:37:27 UTC
view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTCb3097ed02d Jean*0001 #include "AIM_OPTIONS.h" 0002 0003 CBOP 0004 C !ROUTINE: SUFLUX_OCEAN 0005 C !INTERFACE: 0006 SUBROUTINE SUFLUX_OCEAN( 0007 I PSA, FMASK, 0008 I Tsurf, SSR, SLRD, e749d70ece Jean*0009 I T1, T0, Q0, DENVV, b3097ed02d Jean*0010 O SHF, EVAP, SLRU, 0011 I bi,bj,myThid) 0012 0013 C !DESCRIPTION: \bv 0014 C *==========================================================* 0015 C | S/R SUFLUX_OCEAN 0016 C | o compute surface flux over ocean 0017 C *==========================================================* 0018 C | o contains part of original S/R SUFLUX (Speedy code) 0019 C *==========================================================* 0020 C \ev 0021 0022 C !USES: 0023 IMPLICIT NONE 0024 0025 C Resolution parameters 0026 0027 C-- size for MITgcm & Physics package : 0028 #include "AIM_SIZE.h" 0029 #include "EEPARAMS.h" 0030 0031 C Physical constants + functions of sigma and latitude 0032 #include "com_physcon.h" 0033 0034 C Surface flux constants 0035 #include "com_sflcon.h" 0036 0037 C == Routine Arguments == 0038 C-- Input: 0039 C FMASK :: fractional land-sea mask (2-dim) 0040 C Tsurf :: surface temperature (2-dim) 0041 C SSR :: sfc sw radiation (net flux) (2-dim) 0042 C SLRD :: sfc lw radiation (downward flux)(2-dim) e749d70ece Jean*0043 C T1 :: near-surface air temperature (from Pot.temp) b3097ed02d Jean*0044 C T0 :: near-surface air temperature (2-dim) 0045 C Q0 :: near-surface sp. humidity [g/kg](2-dim) e749d70ece Jean*0046 C DENVV :: surface flux (sens,lat.) coeff. (=Rho*|V|) [kg/m2/s] b3097ed02d Jean*0047 C-- Output: 0048 C SHF :: sensible heat flux (2-dim) 0049 C EVAP :: evaporation [g/(m^2 s)] (2-dim) 0050 C SLRU :: sfc lw radiation (upward flux) (2-dim) 0051 C-- Input: 0052 C bi,bj :: tile index 0053 C myThid :: Thread number for this instance of the routine 0054 C-- 0055 _RL PSA(NGP) 0056 _RL FMASK(NGP), Tsurf(NGP) e749d70ece Jean*0057 _RL SSR(NGP), SLRD(NGP) 0058 _RL T1(NGP), T0(NGP), Q0(NGP), DENVV(NGP) b3097ed02d Jean*0059 0060 _RL SHF(NGP), EVAP(NGP), SLRU(NGP) 0061 0062 INTEGER bi,bj,myThid 0063 CEOP 0064 0065 #ifdef ALLOW_AIM 0066 0067 C-- Local variables: e749d70ece Jean*0068 C CDENVV :: surf. heat flux (sens.,lat.) coeff including stability effect 0069 _RL CDENVV(NGP), RDTH, FSSEA b3097ed02d Jean*0070 _RL QSAT0(NGP) 0071 _RL QDUMMY(1), RDUMMY(1), TS4 0072 INTEGER J 0073 0074 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| 0075 0076 C-- 2. Computation of fluxes over land and sea 0077 0078 C 2.1 Wind stress 0079 0080 C 2.2 Sensible heat flux (from clim. TS over land) 0081 e749d70ece Jean*0082 C Stability correction 0083 0084 RDTH = FSTAB/DTHETA 0085 0086 DO J=1,NGP 0087 FSSEA =1.+MIN(DTHETA,MAX(-DTHETA, Tsurf(J)-T1(J)))*RDTH 0088 CDENVV(J)=CHS*DENVV(J)*FSSEA 0089 ENDDO 0090 b3097ed02d Jean*0091 DO J=1,NGP 0092 SHF(J) = CDENVV(J)*CP*(Tsurf(J)-T0(J)) 0093 ENDDO 0094 0095 C 2.3 Evaporation 0096 0097 CALL SHTORH (0, NGP, Tsurf, PSA, 1. _d 0, QDUMMY, RDUMMY, 0098 & QSAT0, myThid) 0099 0100 DO J=1,NGP 0101 EVAP(J) = CDENVV(J)*(QSAT0(J)-Q0(J)) 0102 ENDDO 0103 0104 C 2.4 Emission of lw radiation from the surface 0105 0106 DO J=1,NGP 0107 TS4 = Tsurf(J)**4 0108 SLRU(J) = SBC*TS4 0109 ENDDO 0110 0111 C-- 3. Adjustment of skin temperature and fluxes over land 0112 C-- based on energy balance (to be implemented) 0113 C <= done separately for each surface type (land,sea,se-ice) 0114 0115 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| 0116 #endif /* ALLOW_AIM */ 0117 0118 RETURN 0119 END
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated from https://github.com/MITgcm/MITgcm by the 2.2.1-MITgcm-0.1 LXR engine. The LXR team |