00001 !
00002 ! $Id: forces.h,v 1.3 2004/11/09 08:19:03 pmarches Exp $
00003 !
00004 ! This is include file "forces.h"
00005 !--------------------------------------------------------------------
00006 ! SURFACE MOMENTUM FLUX (WIND STRESS):
00007 !--------------------------------------------------------------------
00008 ! sustr | XI- and ETA-components of kinematic surface momentum flux
00009 ! svstr | (wind stresses) defined at horizontal U- and V-points.
00010 ! dimensioned as [m^2/s^2].
00011 !
00012 real sustr(GLOBAL_2D_ARRAY)
00013 real svstr(GLOBAL_2D_ARRAY)
00014 common /forces_sustr/sustr /forces_svstr/svstr
00015 #ifndef ANA_SMFLUX
00016 !
00017 ! tsms Time of surface momentum stresses.
00018 !
00019 ! sustrg | Two-time level gridded data for XI- and ETA-componets
00020 ! svstrg | of kinematic surface momentum flux (wind stess).
00021 !
00022 ! sustrp | Two-time level point data for XI- and ETA-componets
00023 ! svstrp | of kinematic surface momentum flux (wind stess).
00024 !
00025 real sustrg(GLOBAL_2D_ARRAY,2)
00026 real svstrg(GLOBAL_2D_ARRAY,2)
00027 common /smsdat_sustrg/sustrg /smsdat_svstrg/svstrg
00028
00029 real sustrp(2), svstrp(2), sms_time(2)
00030 real sms_cycle, sms_scale
00031 integer itsms, sms_ncycle, sms_rec, lsusgrd,
00032 & lsvsgrd,sms_tid, susid, svsid
00033 common /smsdat1/ sustrp, svstrp, sms_time
00034 common /smsdat2/ sms_cycle, sms_scale
00035 common /smsdat3/ itsms, sms_ncycle, sms_rec, lsusgrd,
00036 & lsvsgrd,sms_tid, susid, svsid
00037
00038 # undef SMFLUX_DATA
00039 #endif
00040 !
00041 ! BOTTOM MOMENTUM FLUX:
00042 !--------------------------------------------------------------------
00043 ! bustr | XI- and ETA-components of kinematic bottom momentum flux
00044 ! bvstr | (drag) defined at horizontal U- and V-points [m^2/s^2].
00045 !
00046 real bustr(GLOBAL_2D_ARRAY)
00047 real bvstr(GLOBAL_2D_ARRAY)
00048 common /forces_bustr/bustr /forces_bvstr/bvstr
00049 #ifndef ANA_BMFLUX
00050 !
00051 ! tbms Time of surface momentum stresses.
00052 !
00053 ! bustrg | Two-time level gridded data for XI- and ETA-componets
00054 ! bvstrg | of kinematic bottom momentum flux.
00055 !
00056 ! bustrp | Two-time level point data for XI- and ETA-componets
00057 ! bvstrp | of kinematic bottom momentum flux.
00058 !
00059 real bustrg(GLOBAL_2D_ARRAY,2)
00060 real bvstrg(GLOBAL_2D_ARRAY,2)
00061 common /bmsdat_bustrg/bustrg /bmsdat_bvstrg/bvstrg
00062
00063 real bms_tintrp(2), bustrp(2), bvstrp(2), tbms(2)
00064 real bmsclen, bms_tstart, bms_tend, tsbms, sclbms
00065 integer itbms, bmstid,busid, bvsid, tbmsindx
00066 logical bmscycle, bms_onerec, lbusgrd, lbvsgrd
00067 common /bmsdat/
00068 & bms_tintrp, bustrp, bvstrp, tbms,
00069 & bmsclen, bms_tstart, bms_tend, tsbms, sclbms,
00070 & itbms, bmstid,busid, bvsid, tbmsindx,
00071 & bmscycle, bms_onerec, lbusgrd, lbvsgrd
00072
00073 # undef BMFLUX_DATA
00074 #endif
00075 #ifdef SOLVE3D
00076 !
00077 ! SURFACE TRACER FLUXES:
00078 !--------------------------------------------------------------------
00079 ! stflx Kinematic surface fluxes of tracer type variables at
00080 ! horizontal RHO-points. Physical dimensions [degC m/s] -
00081 ! temperature; [PSU m/s] - salinity.
00082 !
00083 real stflx(GLOBAL_2D_ARRAY,NT)
00084 common /forces_stflx/stflx
00085 # ifdef BULK_FLUX
00086 real shflx_rsw(GLOBAL_2D_ARRAY)
00087 common /frc_shflx_rsw/shflx_rsw
00088 real shflx_rlw(GLOBAL_2D_ARRAY)
00089 common /frc_shflx_rlw/shflx_rlw
00090 real shflx_lat(GLOBAL_2D_ARRAY)
00091 common /frc_shflx_lat/shflx_lat
00092 real shflx_sen(GLOBAL_2D_ARRAY)
00093 common /frc_shflx_sen/shflx_sen
00094 # endif
00095 # if !defined ANA_STFLUX || !defined ANA_SSFLUX
00096 !
00097 ! stflxg Two-time level surface tracer flux grided data.
00098 ! stflxp Two-time level surface tracer flux point data.
00099 ! tstflx Time of surface tracer flux.
00100 !
00101 real stflxg(GLOBAL_2D_ARRAY,2,NT)
00102 common /stfdat_stflxg/stflxg
00103
00104 real stflxp(2,NT), stf_time(2,NT)
00105 real stf_cycle(NT), stf_scale(NT)
00106 integer itstf(NT), stf_ncycle(NT), stf_rec(NT),
00107 & lstfgrd(NT), stf_tid(NT), stf_id(NT)
00108 common /stfdat/ stflxp, stf_time, stf_cycle, stf_scale,
00109 & itstf, stf_ncycle, stf_rec, lstfgrd,
00110 & stf_tid, stf_id
00111 # undef STFLUX_DATA
00112 # endif
00113 !
00114 ! BOTTOM TRACER FLUXES:
00115 !--------------------------------------------------------------------
00116 ! btflx Kinematic bottom fluxes of tracer type variables at
00117 ! horizontal RHO-points. Physical dimensions [degC m/s] -
00118 ! temperature; [PSU m/s] - salinity.
00119 !
00120 real btflx(GLOBAL_2D_ARRAY,NT)
00121 common /forces_btflx/btflx
00122 # ifndef ANA_BTFLUX
00123 !
00124 ! btflxg Two-time level bottom tracer flux grided data.
00125 ! btflxp Two-time level bottom tracer flux point data.
00126 ! tbtflx Time of bottom tracer flux.
00127 !
00128 real btflxg(GLOBAL_2D_ARRAY,2,NT)
00129 common /btfdat_btflxg/btflxg
00130
00131 real sclbtf(NT), btf_tstart(NT), btf_tend(NT),
00132 & btfclen(NT), tsbtf(NT)
00133 real btf_tintrp(2,NT), btflxp(2,NT), tbtflx(2,NT)
00134 integer itbtf(NT), btfid(NT), btftid(NT),tbtfindx(NT)
00135 logical lbtfgrd(NT), btfcycle(NT), btf_onerec(NT)
00136 common /btfdat/
00137 & sclbtf, btf_tstart, btf_tend, btfclen,
00138 & tsbtf, btf_tintrp, btflxp, tbtflx,
00139 & itbtf, btfid, btftid, tbtfindx,
00140 & lbtfgrd, btfcycle, btf_onerec
00141
00142 # undef BTFLUX_DATA
00143 # endif
00144 #ifdef QCORRECTION
00145 !
00146 ! HEAT FLUX CORRECTION
00147 !--------------------------------------------------------------------
00148 ! dqdt Kinematic surface net heat flux sensitivity to SST [m/s].
00149 ! sst Current sea surface temperature [degree Celsius].
00150 !
00151 real dqdt(GLOBAL_2D_ARRAY)
00152 real sst(GLOBAL_2D_ARRAY)
00153 common /forces_dqdt/dqdt /forces_sst/sst
00154 # ifndef ANA_SST
00155 !
00156 ! dqdtg | Two-time-level grided data for net surface heat flux
00157 ! sstg | sensitivity to SST grided data [Watts/m^2/Celsius] and
00158 ! sea surface temperature [degree Celsius].
00159 ! dqdtp | Two-time-level point data for net surface heat flux
00160 ! sstp | sensitivity to SST grided data [Watts/m^2/Celsius] and
00161 ! sea surface temperature [degree Celsius].
00162 ! tsst Time of sea surface temperature data.
00163 !
00164 real dqdtg(GLOBAL_2D_ARRAY,2)
00165 real sstg(GLOBAL_2D_ARRAY,2)
00166 common /sstdat_dqdtg/dqdtg /sstdat_sstg/sstg
00167
00168 real sstp(2), dqdtp(2), sst_time(2)
00169 real sst_cycle, scldqdt
00170 integer itsst, sst_ncycle, sst_rec, sst_tid, sst_id,
00171 & dqdt_id, lsstgrd, sstunused
00172 common /sstdat1/ sstp, dqdtp, sst_time
00173 common /sstdat2/ sst_cycle, scldqdt
00174 common /sstdat3/ itsst, sst_ncycle, sst_rec, sst_tid, sst_id,
00175 & dqdt_id, lsstgrd, sstunused
00176
00177 # undef SST_DATA
00178 # endif
00179 # endif
00180
00181 # if defined SALINITY && defined SFLX_CORR
00182 !
00183 ! SALT FLUX CORRECTION
00184 !--------------------------------------------------------------------
00185 ! sss Current sea surface salinity [PSU].
00186 !
00187 real sss(GLOBAL_2D_ARRAY)
00188 common /forces_sss/sss
00189 # if !defined QCORRECTION
00190 real dqdt(GLOBAL_2D_ARRAY)
00191 common /forces_dqdt/dqdt
00192 # endif
00193 # ifndef ANA_SSS
00194 !
00195 ! dqdtg | Two-time-level grided data for net surface heat flux
00196 ! sssg | Two-time-level grided data for
00197 ! sea surface salinity [PSU].
00198 ! dqdtp | Two-time-level point data for net surface heat flux
00199 ! sssp | Two-time-level point data for
00200 ! sea surface salinity [PSU].
00201 ! tsss Time of sea surface salinity data.
00202 !
00203 real sssg(GLOBAL_2D_ARRAY,2)
00204 common /sssdat_sssg/sssg
00205
00206 real sssp(2), sss_time(2)
00207 real sss_cycle
00208 integer itsss, sss_ncycle, sss_rec, sss_tid, sss_id,
00209 & lsssgrd, sssunused
00210 common /sssdat/
00211 & sssp, sss_time, sss_cycle,
00212 & itsss, sss_ncycle, sss_rec, sss_tid, sss_id,
00213 & lsssgrd, sssunused
00214 # if !defined QCORRECTION
00215 real dqdtg(GLOBAL_2D_ARRAY,2)
00216 real dqdtp(2)
00217 real scldqdt
00218 integer dqdt_id
00219 common /sstdat_dqdtg/dqdtg
00220 common /sssdat1/ dqdtp
00221 common /sstdat2/ scldqdt
00222 common /sstdat3/ dqdt_id
00223 # endif
00224 # undef SSS_DATA
00225 # endif
00226 # endif
00227 !
00228 !
00229 #ifdef BULK_FLUX
00230 !
00231 ! HEAT FLUX BULK FORMULATION
00232 !--------------------------------------------------------------------
00233 ! tair surface air temperature at 2m [degree Celsius].
00234 ! wsp wind speed at 10m [degree Celsius].
00235 ! rhum surface air relative humidity 2m [fraction]
00236 ! prate surface precipitation rate [cm day-1]
00237 ! radlw net terrestrial longwave radiation [Watts meter-2]
00238 ! radsw net solar shortwave radiation [Watts meter-2]
00239 !
00240 real tair(GLOBAL_2D_ARRAY)
00241 real rhum(GLOBAL_2D_ARRAY)
00242 real prate(GLOBAL_2D_ARRAY)
00243 real radlw(GLOBAL_2D_ARRAY)
00244 real radsw(GLOBAL_2D_ARRAY)
00245 # ifdef BULK_WVEC
00246 real uwnd(GLOBAL_2D_ARRAY)
00247 real vwnd(GLOBAL_2D_ARRAY)
00248 # else
00249 real wspd(GLOBAL_2D_ARRAY)
00250 # endif
00251
00252 common /bulk_tair/tair
00253 & /bulk_rhum/rhum
00254 & /bulk_prate/prate
00255 & /bulk_radlw/radlw
00256 & /bulk_radsw/radsw
00257 # ifdef BULK_WVEC
00258 & /bulk_uwnd/uwnd
00259 & /bulk_vwnd/vwnd
00260 # else
00261 & /bulk_wspd/wspd
00262 # endif
00263
00264 real tairg(GLOBAL_2D_ARRAY,2)
00265 real rhumg(GLOBAL_2D_ARRAY,2)
00266 real prateg(GLOBAL_2D_ARRAY,2)
00267 real radlwg(GLOBAL_2D_ARRAY,2)
00268 real radswg(GLOBAL_2D_ARRAY,2)
00269 # ifdef BULK_WVEC
00270 real uwndg(GLOBAL_2D_ARRAY,2)
00271 real vwndg(GLOBAL_2D_ARRAY,2)
00272 # else
00273 real wspdg(GLOBAL_2D_ARRAY,2)
00274 # endif
00275
00276 common /bulkdat_tairg/tairg
00277 & /bulkdat_rhumg/rhumg
00278 & /bulkdat_prateg/prateg
00279 & /bulkdat_radlwg/radlwg
00280 & /bulkdat_radswg/radswg
00281 # ifdef BULK_WVEC
00282 & /bulk_uwndg/uwndg
00283 & /bulk_vwndg/vwndg
00284 # else
00285 & /bulkdat_wspdg/wspdg
00286 # endif
00287
00288 real tairp(2),rhump(2),pratep(2),radlwp(2),radswp(2)
00289 # ifdef BULK_WVEC
00290 & ,uwndp(2),vwndp(2)
00291 # else
00292 & ,wspdp(2)
00293 # endif
00294 real bulk_time(2), bulk_cycle
00295 integer tair_id,rhum_id,prate_id,radlw_id,radsw_id,
00296 & ltairgrd,lrhumgrd,lprategrd,lradlwgrd,lradswgrd
00297 # ifdef BULK_WVEC
00298 & ,uwnd_id,vwnd_id,luwndgrd,lvwndgrd
00299 # else
00300 & ,wspd_id,lwspdgrd
00301 # endif
00302 integer itbulk,bulk_ncycle,bulk_rec,bulk_tid,
00303 & bulkunused
00304
00305 common /bulkdat1/
00306 & tair_id,rhum_id,prate_id,radlw_id,radsw_id,
00307 & ltairgrd,lrhumgrd,lprategrd,lradlwgrd,lradswgrd,
00308 & itbulk, bulk_ncycle, bulk_rec, bulk_tid,
00309 & bulkunused
00310 # ifdef BULK_WVEC
00311 & ,uwnd_id,vwnd_id,luwndgrd,lvwndgrd
00312 # else
00313 & ,wspd_id,lwspdgrd
00314 # endif
00315 common /bulkdat2/
00316 & tairp,rhump,pratep,radlwp,radswp,
00317 & bulk_time, bulk_cycle
00318 # ifdef BULK_WVEC
00319 & ,uwndp,vwndp
00320 # else
00321 & ,wspdp
00322 # endif
00323 #endif
00324 !
00325 ! SOLAR SHORT WAVE RADIATION FLUX.
00326 !--------------------------------------------------------------------
00327 ! srflx Kinematic surface shortwave solar radiation flux
00328 ! [degC m/s] at horizontal RHO-points
00329 !
00330 real srflx(GLOBAL_2D_ARRAY)
00331 common /forces_srflx/srflx
00332 # ifdef DIURNAL_SRFLUX
00333 real sin_phi(GLOBAL_2D_ARRAY),
00334 & cos_phi(GLOBAL_2D_ARRAY),
00335 & tan_phi(GLOBAL_2D_ARRAY)
00336 common /diu_srflx/ sin_phi, cos_phi, tan_phi
00337 # endif
00338 # ifndef ANA_SRFLUX
00339 !
00340 ! srflxg | Two-time-level grided and point data for surface
00341 ! srflxp | solar shortwave radiation flux grided data.
00342 ! tsrflx Time of solar shortwave radiation flux.
00343 !
00344 real srflxg(GLOBAL_2D_ARRAY,2)
00345 common /srfdat_srflxg/srflxg
00346
00347 real srflxp(2),srf_time(2)
00348 real srf_cycle, srf_scale
00349 integer itsrf, srf_ncycle, srf_rec,
00350 & lsrfgrd, srf_tid, srf_id
00351 common /srfdat/
00352 & srflxp,srf_time, srf_cycle, srf_scale,
00353 & itsrf, srf_ncycle, srf_rec, lsrfgrd, srf_tid, srf_id
00354
00355 # undef SRFLUX_DATA
00356 # endif
00357
00358 # ifdef BBL
00359 !
00360 ! WIND INDUCED WAVES:
00361 !--------------------------------------------------------------------
00362 ! Awave | Wind induced wave amplitude [m] at RHO-points.
00363 ! Dwave | Wind induced wave direction [radians] at RHO-points.
00364 ! Pwave | Wind induced wave period [s] at RHO-points.
00365 !
00366 real Awave(GLOBAL_2D_ARRAY)
00367 real Dwave(GLOBAL_2D_ARRAY)
00368 real Pwave(GLOBAL_2D_ARRAY)
00369
00370 common /bbl_Awave/Awave /bbl_Dwave/Dwave /bbl_Pwave/Pwave
00371
00372 # ifndef ANA_WWAVE
00373 !
00374 ! tww Time of wind induced waves.
00375 !
00376 ! wwag | Two-time-level | wave amplitude [m]
00377 ! wwdg | gridded data | wave direction [radians]
00378 ! wwpg | for wind induced ! wave period [s]
00379 !
00380 ! wwap | Two-time-level | wave amplitude [m]
00381 ! wwdp | point data | wave direction [radians]
00382 ! wwpp | for wind induced ! wave period [s]
00383 !
00384 real wwag(GLOBAL_2D_ARRAY,2)
00385 real wwdg(GLOBAL_2D_ARRAY,2)
00386 real wwpg(GLOBAL_2D_ARRAY,2)
00387
00388 common /wwf_wwag/wwag /wwf_wwdg/wwdg /wwf_wwpg/wwpg
00389
00390 real wwap(2), wwdp(2), wwpp(2), wwv_time(2)
00391 real ww_cycle, wwa_scale, wwd_scale, wwp_scale,
00392 & wwagrd, wwdgrd, wwpgrd
00393 integer itww, ww_ncycle, ww_rec, ww_tid,
00394 & wwa_id, wwd_id, wwp_id
00395 common /wwdat/
00396 & wwap, wwdp, wwpp, wwv_time, ww_cycle,
00397 & wwa_scale, wwd_scale, wwp_scale, itww, ww_ncycle,
00398 & wwagrd, wwdgrd, wwpgrd, ww_tid, ww_rec,
00399 & wwa_id, wwd_id, wwp_id
00400
00401
00402 # undef WWAVE_DATA
00403 # endif
00404 # endif
00405 #endif
00406
00407
00408