/[MITgcm]/MITgcm/pkg/atm_compon_interf/atm_store_thsice.F
ViewVC logotype

Annotation of /MITgcm/pkg/atm_compon_interf/atm_store_thsice.F

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


Revision 1.5 - (hide annotations) (download)
Wed Jan 6 00:51:58 2016 UTC (8 years, 4 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66a, checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, checkpoint66k, checkpoint66j, checkpoint66i, checkpoint66h, checkpoint65z, checkpoint65x, checkpoint65y, checkpoint65s, checkpoint65v, checkpoint65w, checkpoint65t, checkpoint65u, HEAD
Changes since 1.4: +36 -25 lines
- rename:   fracIce     -> sIceFrac_cpl (<- match coupler var name)
- add 2-way thSIce vars exchange to allow to use seaice dynamics in OCN

1 jmc 1.5 C $Header: /u/gcmpack/MITgcm/pkg/atm_compon_interf/atm_store_thsice.F,v 1.4 2015/11/20 22:50:53 jmc Exp $
2 jmc 1.1 C $Name: $
3    
4 jmc 1.3 #include "ATM_CPL_OPTIONS.h"
5 jmc 1.1
6     CBOP
7     C !ROUTINE: ATM_STORE_THSICE
8     C !INTERFACE:
9     SUBROUTINE ATM_STORE_THSICE(
10     I bi, bj,
11     I myTime, myIter, myThid )
12    
13     C !DESCRIPTION: \bv
14     C *==========================================================*
15     C | SUBROUTINE ATM_STORE_THSICE
16     C | o Routine for saving Sea-Ice fields from thSIce pkg
17     C | for export to coupling layer.
18     C *==========================================================*
19     C | This version interfaces to the THSICE package.
20     C *==========================================================*
21     C \ev
22    
23     C !USES:
24     IMPLICIT NONE
25    
26     C == Global variables ==
27     #include "SIZE.h"
28    
29     #include "EEPARAMS.h"
30     #include "PARAMS.h"
31     #include "CPL_PARAMS.h"
32     #ifdef ALLOW_THSICE
33     # include "THSICE_PARAMS.h"
34     # include "THSICE_VARS.h"
35     #endif
36     C == Global variables for coupling interface ==
37     #include "ATMCPL.h"
38    
39     C !INPUT/OUTPUT PARAMETERS:
40     C bi, bj :: Tile indices
41     C myTime :: Current model time
42     C myIter :: Current timestep number
43     C myThid :: my Thread Id number
44     INTEGER bi, bj
45     _RL myTime
46     INTEGER myIter
47     INTEGER myThid
48     CEOP
49    
50     #ifdef ALLOW_THSICE
51     C !LOCAL VARIABLES:
52     C i, j :: Loop counters
53     INTEGER i,j
54    
55 jmc 1.5 IF ( atm_cplExch1W_sIce ) THEN
56 jmc 1.1 C o Accumulate Sea-Ice Mass from thSIce pkg that will be exported
57     C to the coupling layer. seaIceMass is per surface unit, in kg/m2.
58     c cplTimeFraction = 1. _d 0 / DFLOAT(cplSendFrq_iter)
59 jmc 1.5 c sIceMassTime(bi,bj) = sIceMassTime(bi,bj) + cplTimeFraction
60 jmc 1.1 C- Needs really to store the last time-step value and not the average
61 jmc 1.5 sIceMassTime(bi,bj) = 1. _d 0
62     DO j=1,sNy
63     DO i=1,sNx
64     c seaIceMass(i,j,bi,bj) = seaIceMass(i,j,bi,bj) + cplTimeFraction*
65     seaIceMass(i,j,bi,bj) =
66 jmc 1.1 & ( snowHeight(i,j,bi,bj)*rhos
67     & + iceHeight(i,j,bi,bj)*rhoi
68 jmc 1.5 & )*iceMask(i,j,bi,bj)
69     ENDDO
70 jmc 1.1 ENDDO
71 jmc 1.5 ENDIF
72    
73     IF ( ( atm_cplExch1W_sIce.AND.atm_cplExch_DIC )
74     & .OR. atm_cplExch2W_sIce ) THEN
75     C o Store Sea-Ice concentration (no-units) from thSIce pkg
76     C that will be exported to the coupling layer.
77     sIceFracTime(bi,bj) = 1. _d 0
78     DO j=1,sNy
79     DO i=1,sNx
80     sIceFrac_cpl(i,j,bi,bj) = iceMask(i,j,bi,bj)
81     ENDDO
82     ENDDO
83     ENDIF
84 jmc 1.1
85 jmc 1.5 IF ( atm_cplExch2W_sIce ) THEN
86     C o Store other thSIce state-vars
87 jmc 1.1 C that will be exported to the coupling layer.
88 jmc 1.5 sIceThickTime(bi,bj) = 1. _d 0
89     sIceSnowHTime(bi,bj) = 1. _d 0
90     sIceQ1Time (bi,bj) = 1. _d 0
91     sIceQ2Time (bi,bj) = 1. _d 0
92     DO j=1,sNy
93     DO i=1,sNx
94     sIceThick_cpl(i,j,bi,bj) = iceHeight(i,j,bi,bj)
95     sIceSnowH_cpl(i,j,bi,bj) = snowHeight(i,j,bi,bj)
96     sIceQ1_cpl (i,j,bi,bj) = Qice1(i,j,bi,bj)
97     sIceQ2_cpl (i,j,bi,bj) = Qice2(i,j,bi,bj)
98     ENDDO
99 jmc 1.1 ENDDO
100 jmc 1.2 ENDIF
101 jmc 1.1
102     #endif /* ALLOW_THSICE */
103    
104     RETURN
105     END

  ViewVC Help
Powered by ViewVC 1.1.22