6 SUBROUTINE sfx_oasis_send(KLUOUT,KI,KDATE,OSEND_LAND,OSEND_LAKE,OSEND_SEA, &
7 PLAND_RUNOFF,PLAND_DRAIN,PLAND_CALVING, &
9 PLAKE_EVAP,PLAKE_RAIN,PLAKE_SNOW,PLAKE_WATF, &
10 PSEA_FWSU,PSEA_FWSV,PSEA_HEAT,PSEA_SNET,PSEA_WIND, &
11 PSEA_FWSM,PSEA_EVAP,PSEA_RAIN,PSEA_SNOW,PSEA_WATF, &
12 PSEAICE_HEAT,PSEAICE_SNET,PSEAICE_EVAP )
72 INTEGER,
INTENT(IN) :: KLUOUT
73 INTEGER,
INTENT(IN) :: KI
74 INTEGER,
INTENT(IN) :: KDATE
75 LOGICAL,
INTENT(IN) :: OSEND_LAND
76 LOGICAL,
INTENT(IN) :: OSEND_LAKE
77 LOGICAL,
INTENT(IN) :: OSEND_SEA
79 REAL,
DIMENSION(KI),
INTENT(IN) :: PLAND_RUNOFF
80 REAL,
DIMENSION(KI),
INTENT(IN) :: PLAND_DRAIN
81 REAL,
DIMENSION(KI),
INTENT(IN) :: PLAND_CALVING
82 REAL,
DIMENSION(KI),
INTENT(IN) :: PLAND_SRCFLOOD
84 REAL,
DIMENSION(KI),
INTENT(IN) :: PLAKE_EVAP
85 REAL,
DIMENSION(KI),
INTENT(IN) :: PLAKE_RAIN
86 REAL,
DIMENSION(KI),
INTENT(IN) :: PLAKE_SNOW
87 REAL,
DIMENSION(KI),
INTENT(IN) :: PLAKE_WATF
89 REAL,
DIMENSION(KI),
INTENT(IN) :: PSEA_FWSU
90 REAL,
DIMENSION(KI),
INTENT(IN) :: PSEA_FWSV
91 REAL,
DIMENSION(KI),
INTENT(IN) :: PSEA_HEAT
92 REAL,
DIMENSION(KI),
INTENT(IN) :: PSEA_SNET
93 REAL,
DIMENSION(KI),
INTENT(IN) :: PSEA_WIND
94 REAL,
DIMENSION(KI),
INTENT(IN) :: PSEA_FWSM
95 REAL,
DIMENSION(KI),
INTENT(IN) :: PSEA_EVAP
96 REAL,
DIMENSION(KI),
INTENT(IN) :: PSEA_RAIN
97 REAL,
DIMENSION(KI),
INTENT(IN) :: PSEA_SNOW
98 REAL,
DIMENSION(KI),
INTENT(IN) :: PSEA_WATF
100 REAL,
DIMENSION(KI),
INTENT(IN) :: PSEAICE_HEAT
101 REAL,
DIMENSION(KI),
INTENT(IN) :: PSEAICE_SNET
102 REAL,
DIMENSION(KI),
INTENT(IN) :: PSEAICE_EVAP
107 REAL,
DIMENSION(KI,1) :: ZWRITE
109 CHARACTER(LEN=50) :: YCOMMENT
112 REAL(KIND=JPRB) :: ZHOOK_HANDLE
118 IF (
lhook)
CALL dr_hook(
'SFX_OASIS_SEND',0,zhook_handle)
134 ycomment=
'Surface runoff over land' 136 CALL oasis_put(
nrunoff_id,kdate,zwrite(:,:),ierr)
139 ycomment=
'Deep drainage over land' 141 CALL oasis_put(
ndrain_id,kdate,zwrite(:,:),ierr)
145 ycomment=
'calving flux over land' 152 ycomment=
'flood freshwater flux over land (P-E-I)' 169 ycomment=
'Evaporation over lake' 176 ycomment=
'Rainfall rate over lake' 183 ycomment=
'Snowfall rate over lake' 190 ycomment=
'Freshwater flux over lake (P-E)' 209 ycomment=
'zonal wind stress over sea' 216 ycomment=
'meridian wind stress over sea' 223 ycomment=
'Non solar net heat flux over sea' 230 ycomment=
'Solar net heat flux over sea' 237 ycomment=
'10m wind speed over sea' 244 ycomment=
'wind stress over sea' 251 ycomment=
'Evaporation over sea' 258 ycomment=
'Rainfall rate over sea' 265 ycomment=
'Snowfall rate over sea' 272 ycomment=
'Freshwater flux over sea (P-E)' 283 ycomment=
'Sea-ice non solar net heat flux over sea-ice' 290 ycomment=
'Sea-ice solar net heat flux over sea-ice' 297 ycomment=
'Sea-ice sublimation over sea-ice' 307 IF (
lhook)
CALL dr_hook(
'SFX_OASIS_SEND',1,zhook_handle)
319 INTEGER,
INTENT(IN) :: KLUOUT
320 INTEGER,
INTENT(IN) :: KERR
321 CHARACTER(LEN=*),
INTENT(IN) :: HCOMMENT
323 REAL,
DIMENSION(:),
INTENT(OUT):: PWRITE
325 REAL(KIND=JPRB) :: ZHOOK_HANDLE
327 IF (
lhook)
CALL dr_hook(
'SFX_OASIS_SEND:CHECK_SFX_SEND',0,zhook_handle)
331 IF (kerr/=oasis_ok.AND.kerr<oasis_sent)
THEN 332 WRITE(kluout,
'(A,I4)')
'Return OASIS code from sending '//
trim(hcomment)//
' : ',kerr
333 CALL abor1_sfx(
'SFX_OASIS_SEND: problem sending '//
trim(hcomment))
336 IF (
lhook)
CALL dr_hook(
'SFX_OASIS_SEND:CHECK_SFX_SEND',1,zhook_handle)
342 SUBROUTINE outvar(PIN,PDIV,PWRITE)
346 REAL,
DIMENSION(:),
INTENT(IN) :: PIN
347 REAL,
INTENT(IN) :: PDIV
349 REAL,
DIMENSION(:),
INTENT(OUT):: PWRITE
351 REAL(KIND=JPRB) :: ZHOOK_HANDLE
353 IF (
lhook)
CALL dr_hook(
'SFX_OASIS_SEND:OUTVAR',0,zhook_handle)
356 pwrite(:)=pin(:)/pdiv
361 IF (
lhook)
CALL dr_hook(
'SFX_OASIS_SEND:OUTVAR',1,zhook_handle)
static const char * trim(const char *name, int *n)
subroutine abor1_sfx(YTEXT)
subroutine check_sfx_send(KLUOUT, KERR, HCOMMENT, PWRITE)
subroutine outvar(PIN, PDIV, PWRITE)
integer, parameter nundef
subroutine sfx_oasis_send(KLUOUT, KI, KDATE, OSEND_LAND, OSEND_LAKE, OSEND_SEA, PLAND_RUNOFF, PLAND_DRAIN, PLAND_CALVING, PLAND_SRCFLOOD, PLAKE_EVAP, PLAKE_RAIN, PLAKE_SNOW, PLAKE_WATF, PSEA_FWSU, PSEA_FWSV, PSEA_HEAT, PSEA_SNET, PSEA_WIND, PSEA_FWSM, PSEA_EVAP, PSEA_RAIN, PSEA_SNOW, PSEA_WATF, PSEAICE_HEAT, PSEAICE_SNET, PSEAICE_EVAP)