1 |
C $Header: $ |
2 |
C $Name: $ |
3 |
|
4 |
#include "ctrparam.h" |
5 |
#include "ATM2D_OPTIONS.h" |
6 |
|
7 |
C !INTERFACE: |
8 |
SUBROUTINE PASS_THSICE_FLUXES( myThid ) |
9 |
C *==========================================================* |
10 |
C | Called after each atm time step - put Qneti, dF/dT, solar| |
11 |
c | for seaice to use, accumlate precip fluxes for thsice pkg| |
12 |
C *==========================================================* |
13 |
IMPLICIT NONE |
14 |
|
15 |
#include "ATMSIZE.h" |
16 |
#include "SIZE.h" |
17 |
#include "GRID.h" |
18 |
#include "EEPARAMS.h" |
19 |
|
20 |
C === Global SeaIce Variables === |
21 |
#include "THSICE_PARAMS.h" |
22 |
#include "THSICE_VARS.h" |
23 |
|
24 |
C === Atmos/Ocean/Seaice Interface Variables === |
25 |
#include "ATM2D_VARS.h" |
26 |
|
27 |
|
28 |
C !INPUT/OUTPUT PARAMETERS: |
29 |
C === Routine arguments === |
30 |
C myThid - Thread no. that called this routine. |
31 |
INTEGER myThid |
32 |
|
33 |
C LOCAL VARIABLES: |
34 |
INTEGER i,j |
35 |
|
36 |
DO j=1, sNy |
37 |
DO i=1, sNx |
38 |
|
39 |
IF (iceMask(i,j,1,1) .GT. 0. _d 0) THEN |
40 |
netSW(i,j) = solarinc_2D(i,j)*(1. _d 0 - siceAlb(i,j,1,1)) ! convert to netSW |
41 |
sFlx(i,j,0)= -qneti_2D(i,j) -netSW(i,j) + |
42 |
& Tsrf(i,j,1,1)*dFdT_ice_2D(i,j) |
43 |
sFlx(i,j,1)= -qneti_2D(i,j) -netSW(i,j) |
44 |
sFlx(i,j,2)= -dFdT_ice_2D(i,j) |
45 |
|
46 |
C Note conversion to ice model sign convention below |
47 |
sum_prcIce(i,j) = sum_prcIce(i,j) - precipi_2D(i,j)*rhofw |
48 |
sum_evapIce(i,j) = sum_evapIce(i,j) - evapi_2D(i,j)*rhofw |
49 |
IF (Tair_2D(i,j) .LE. 0. _d 0) |
50 |
& sum_snowPrc(i,j) = sum_snowPrc(i,j) - precipi_2D(i,j)*rhofw |
51 |
|
52 |
ENDIF |
53 |
|
54 |
ENDDO |
55 |
ENDDO |
56 |
|
57 |
|
58 |
RETURN |
59 |
END |