-
Notifications
You must be signed in to change notification settings - Fork 237
/
ebm_load_climatology.F
94 lines (81 loc) · 2.41 KB
/
ebm_load_climatology.F
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#include "EBM_OPTIONS.h"
#ifdef ALLOW_EXCH2
# include "W2_OPTIONS.h"
#endif /* ALLOW_EXCH2 */
CBOP 0
C !ROUTINE: EBM_LOAD_CLIMATOLOGY
C !INTERFACE:
SUBROUTINE EBM_LOAD_CLIMATOLOGY( myThid )
C !DESCRIPTION:
C *==========================================================*
C | S/R EBM_LOAD_CLIMATOLOGY
C *==========================================================*
C !USES:
IMPLICIT NONE
C === Global variables ===
#include "SIZE.h"
#include "EEPARAMS.h"
#include "PARAMS.h"
#ifdef ALLOW_EXCH2
# include "W2_EXCH2_SIZE.h"
# include "W2_EXCH2_TOPOLOGY.h"
#endif /* ALLOW_EXCH2 */
#include "GRID.h"
#include "SET_GRID.h"
#include "FFIELDS.h"
#ifdef ALLOW_EBM
# include "EBM.h"
#endif
C !INPUT PARAMETERS:
C myThid :: my Thread Id number
INTEGER myThid
CEOP
#ifdef ALLOW_EBM
C !LOCAL VARIABLES:
INTEGER gridNy
INTEGER bi,bj,i,j
_RL distY,tauX,tauMax,lY
#ifdef ALLOW_EXCH2
gridNy = exch2_mydNy(1)
#else /* ALLOW_EXCH2 */
gridNy = Ny
#endif /* ALLOW_EXCH2 */
IF ( RunoffFile .NE. ' ' ) THEN
CALL READ_FLD_XY_RS( RunoffFile, ' ', Run, 0, myThid )
ENDIF
IF ( zonalWindFile .EQ. ' ' ) THEN
C In cartesian yc, delY and ly are meters.
C In spherical polar yc, delY and ly are degrees
tauMax = 0.1 _d 0
tauMax = 1.0 * 1./(delR(1)*rhonil)
lY = 0. _d 0
DO j=1,gridNy-1
lY = lY + delY(j)
ENDDO
DO bj = myByLo(myThid), myByHi(myThid)
DO bi = myBxLo(myThid), myBxHi(myThid)
DO j=1,sNy
DO i=1,sNx
c distY = (yC(i,j,bi,bj)-(yC0))/lY
c jmc: yC0 has been removed (not used except here,
c and since it was not initialised, was generaly zero):
distY = (yC(i,j,bi,bj)- 0. )/lY
c tauX = -tauMax*cos(2. _d 0*PI*distY)
tauX = tauMax*sin(PI*distY)
fu(i,j,bi,bj) = tauX
ENDDO
ENDDO
ENDDO
ENDDO
ENDIF
_EXCH_XY_RS( Run, myThid )
IF ( plotLevel.GE.debLevC ) THEN
CALL PLOT_FIELD_XYRS( SST, 'Theta Climatology' , 1, myThid )
CALL PLOT_FIELD_XYRS( SSS, 'Salt Climatology' , 1, myThid )
CALL PLOT_FIELD_XYRS( Run, 'Runoff Climatology', 1, myThid )
CALL PLOT_FIELD_XYRS(fu,'Wind Stress Climatology FU',1,myThid)
CALL PLOT_FIELD_XYRS(fv,'Wind Stress Climatology FV',1,myThid)
ENDIF
#endif /* ALLOW_EBM */
RETURN
END