/[MITgcm]/MITgcm/pkg/thsice/thsice_map_exf.F
ViewVC logotype

Annotation of /MITgcm/pkg/thsice/thsice_map_exf.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (hide annotations) (download)
Tue May 30 22:48:59 2006 UTC (17 years, 11 months ago) by mlosch
Branch: MAIN
CVS Tags: checkpoint58l_post, mitgcm_mapl_00, checkpoint58u_post, checkpoint58w_post, checkpoint58r_post, checkpoint58n_post, checkpoint58x_post, checkpoint58t_post, checkpoint58h_post, checkpoint58q_post, checkpoint58j_post, checkpoint58f_post, checkpoint58i_post, checkpoint58g_post, checkpoint58o_post, checkpoint58y_post, checkpoint58k_post, checkpoint58v_post, checkpoint58s_post, checkpoint58p_post, checkpoint58m_post
o couple pkg/thsice and pkg/exf (as a preparation for coupling pkg/thsice
  to pkg/seaice):
  - new routines thsice_map_exf and thsice_get_exf provide the interface
  - add an additional formal parameter to thsice_solve4temp

1 mlosch 1.1 C $Header: $
2     C $Name: $
3    
4     #include "THSICE_OPTIONS.h"
5     #ifdef ALLOW_EXF
6     #include "EXF_OPTIONS.h"
7     #endif
8    
9     CBOP
10     C !ROUTINE: THSICE_MAP_EXF
11     C !INTERFACE:
12     SUBROUTINE THSICE_MAP_EXF(
13     I iceMsk,
14     O totPrc, snowPrc, flxSW,
15     I iMin,iMax,jMin,jMax, bi,bj, myThid )
16     C !DESCRIPTION: \bv
17     C *==========================================================*
18     C | S/R THSICE_MAP_EXF
19     C | Interface S/R : map Precip, Snow and shortwave fluxes
20     C | from pkg EXF to thsice variables
21     C *==========================================================*
22     C \ev
23    
24     C !USES:
25     IMPLICIT NONE
26    
27     C == Global data ==
28     #include "SIZE.h"
29     #include "EEPARAMS.h"
30     #include "PARAMS.h"
31     #include "FFIELDS.h"
32     #ifdef ALLOW_EXF
33     # include "exf_constants.h"
34     # include "exf_param.h"
35     # include "exf_fields.h"
36     #endif
37    
38     C !INPUT/OUTPUT PARAMETERS:
39     C === Routine arguments ===
40     C iceMsk :: sea-ice fraction: no ice=0, grid all ice 1 []
41     C totPrc :: Total Precipitation (including run-off) [kg/m2/s]
42     C snowPrc :: Snow Precipitation [kg/m2/s]
43     C flxSW :: Net short-wave surface flux (+=down) [W/m2]
44     C iMin,iMax :: range of indices of computation domain
45     C jMin,jMax :: range of indices of computation domain
46     C bi,bj :: current tile indices
47     C myThid :: Thread no. that called this routine.
48     _RL iceMsk (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
49     _RL totPrc (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
50     _RL snowPrc(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
51     _RL flxSW (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
52     INTEGER iMin,iMax
53     INTEGER jMin,jMax
54     INTEGER bi,bj
55     INTEGER myThid
56     CEOP
57    
58     #ifdef ALLOW_THSICE
59     #ifdef ALLOW_EXF
60    
61     C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
62     C === Local variables ===
63     C i,j :: current grid point indices
64     INTEGER i,j
65    
66     DO j = jMin, jMax
67     DO i = iMin, iMax
68     totPrc(i,j) = precip(i,j,bi,bj)*rhoConstFresh
69     #if defined (ALLOW_RUNOFF) || defined (ALLOW_SEAICE)
70     totPrc(i,j) = totPrc(i,j) + runoff(i,j,bi,bj)*rhoConstFresh
71     #endif
72     CML flxSW (i,j) = -Qsw(i,j,bi,bj)
73     flxSW (i,j) = swdown(i,j,bi,bj)
74     ENDDO
75     ENDDO
76    
77     IF ( snowPrecipFile .NE. ' ' ) THEN
78     DO j = jMin, jMax
79     DO i = iMin, iMax
80     snowPrc(i,j) = snowPrecip(i,j,bi,bj)*rhoConstFresh
81     ENDDO
82     ENDDO
83     ELSE
84     C If specific snow precipitiation is now available, use
85     C precipitation when ever the air temperature is below 0 degC
86     DO j = jMin, jMax
87     DO i = iMin, iMax
88     IF ( iceMsk(i,j,bi,bj).GT.0. _d 0
89     & .AND. atemp(i,j,bi,bj).LE.cen2kel ) THEN
90     CML & .AND. atemp(i,j,bi,bj).LE.Tf0kel ) THEN
91     snowPrc(i,j) = precip(i,j,bi,bj)*rhoConstFresh
92     ENDIF
93     ENDDO
94     ENDDO
95     ENDIF
96    
97     C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
98    
99     #endif /* ALLOW_EXF */
100     #endif /* ALLOW_THSICE */
101    
102     RETURN
103     END

  ViewVC Help
Powered by ViewVC 1.1.22