1 |
C $Header: /u/gcmpack/MITgcm/pkg/bulk_force/bulkf_ave.F,v 1.7 2005/11/04 01:28:38 jmc Exp $ |
2 |
C $Name: $ |
3 |
|
4 |
#include "BULK_FORCE_OPTIONS.h" |
5 |
|
6 |
CBOP |
7 |
C !ROUTINE: BULKF_AVE |
8 |
C !INTERFACE: |
9 |
SUBROUTINE BULKF_AVE(bi,bj,myThid) |
10 |
|
11 |
C !DESCRIPTION: \bv |
12 |
C *==========================================================* |
13 |
C | S/R BULKF_AVE |
14 |
C | o save values for timeaveraging |
15 |
C | for sea/ice surface and atmosphere |
16 |
C *==========================================================* |
17 |
C \ev |
18 |
|
19 |
C !USES: |
20 |
IMPLICIT NONE |
21 |
C == Global variables == |
22 |
#include "SIZE.h" |
23 |
#include "EEPARAMS.h" |
24 |
#include "PARAMS.h" |
25 |
#include "FFIELDS.h" |
26 |
#include "BULKF.h" |
27 |
#include "BULKF_INT.h" |
28 |
#include "BULKF_TAVE.h" |
29 |
|
30 |
C !INPUT/OUTPUT PARAMETERS: |
31 |
INTEGER bi,bj |
32 |
INTEGER myThid |
33 |
CEOP |
34 |
|
35 |
#ifdef ALLOW_BULK_FORCE |
36 |
#ifdef ALLOW_TIMEAVE |
37 |
|
38 |
INTEGER i,j |
39 |
|
40 |
C-- Time-average |
41 |
DO j = 1,sNy |
42 |
DO i = 1,sNx |
43 |
BULK_Qnet_AVE(i,j,bi,bj)=BULK_Qnet_AVE(i,j,bi,bj) |
44 |
& +Qnet(i,j,bi,bj)*deltaTclock |
45 |
c & +lambdaThetaClimRelax* |
46 |
c & (theta(i,j,1,bi,bj)-SST(i,j,bi,bj))/ |
47 |
c & (recip_Cp*recip_rhoNil*recip_dRf(1))*deltaTclock |
48 |
BULK_EmPmR_AVE(i,j,bi,bj)=BULK_EmPmR_AVE(i,j,bi,bj) |
49 |
& +EmPmR(i,j,bi,bj)*deltaTclock |
50 |
BULK_fu_AVE(i,j,bi,bj)=BULK_fu_AVE(i,j,bi,bj) |
51 |
& +fu(i,j,bi,bj)*deltaTclock |
52 |
BULK_fv_AVE(i,j,bi,bj)=BULK_fv_AVE(i,j,bi,bj) |
53 |
& +fv(i,j,bi,bj)*deltaTclock |
54 |
BULK_latent_AVE(i,j,bi,bj)=BULK_latent_AVE(i,j,bi,bj) |
55 |
& +flh(i,j,bi,bj)*deltaTclock |
56 |
BULK_sensible_AVE(i,j,bi,bj)=BULK_sensible_AVE(i,j,bi,bj) |
57 |
& +fsh(i,j,bi,bj)*deltaTclock |
58 |
BULK_evap_AVE(i,j,bi,bj)=BULK_evap_AVE(i,j,bi,bj) |
59 |
& +evap(i,j,bi,bj)*deltaTclock |
60 |
BULK_flwup_AVE(i,j,bi,bj)=BULK_flwup_AVE(i,j,bi,bj) |
61 |
& +flwup(i,j,bi,bj)*deltaTclock |
62 |
BULK_flwupnet_AVE(i,j,bi,bj)=BULK_flwupnet_AVE(i,j,bi,bj) |
63 |
& +flwupnet(i,j,bi,bj)*deltaTclock |
64 |
BULK_solar_AVE(i,j,bi,bj)=BULK_solar_AVE(i,j,bi,bj) |
65 |
& +fswnet(i,j,bi,bj)*deltaTclock |
66 |
BULK_ssq_AVE(i,j,bi,bj)=BULK_ssq_AVE(i,j,bi,bj) |
67 |
& +savssq(i,j,bi,bj)*deltaTclock |
68 |
ENDDO |
69 |
ENDDO |
70 |
BULKF_timeave(1,bi,bj)=BULKF_timeave(1,bi,bj)+deltaTclock |
71 |
|
72 |
|
73 |
#endif /*ALLOW_TIMEAVE*/ |
74 |
#endif /*ALLOW_BULK_FORCE*/ |
75 |
|
76 |
RETURN |
77 |
END |
78 |
|