1 |
C $Header: /u/gcmpack/MITgcm/pkg/seaice/seaice_summary.F,v 1.1 2004/12/27 20:34:11 dimitri Exp $ |
2 |
C $Name: $ |
3 |
|
4 |
#include "SEAICE_OPTIONS.h" |
5 |
|
6 |
SUBROUTINE SEAICE_SUMMARY( mythid ) |
7 |
C /==========================================================\ |
8 |
C | SUBROUTINE SEAICE_SUMMARY | |
9 |
C | o Summarize pkg/seaice parameters. | |
10 |
C \==========================================================/ |
11 |
IMPLICIT NONE |
12 |
|
13 |
c == global variables == |
14 |
|
15 |
#include "EEPARAMS.h" |
16 |
#include "SEAICE_PARAMS.h" |
17 |
|
18 |
c == routine arguments == |
19 |
|
20 |
c mythid - thread number for this instance of the routine. |
21 |
|
22 |
integer mythid |
23 |
|
24 |
c == local variables == |
25 |
|
26 |
integer il |
27 |
character*(max_len_mbuf) msgbuf |
28 |
|
29 |
c == external == |
30 |
|
31 |
integer ilnblnk |
32 |
external ilnblnk |
33 |
|
34 |
c == end of interface == |
35 |
|
36 |
_BARRIER |
37 |
_BEGIN_MASTER(myThid) |
38 |
|
39 |
write(msgbuf,'(a)') |
40 |
&' ' |
41 |
call print_message( msgbuf, standardmessageunit, |
42 |
& SQUEEZE_RIGHT , mythid) |
43 |
write(msgbuf,'(a)') |
44 |
&'// =======================================================' |
45 |
call print_message( msgbuf, standardmessageunit, |
46 |
& SQUEEZE_RIGHT , mythid) |
47 |
write(msgbuf,'(a)') |
48 |
&'// Seaice configuration (SEAICE_PARM01) >>> START <<<' |
49 |
call print_message( msgbuf, standardmessageunit, |
50 |
& SQUEEZE_RIGHT , mythid) |
51 |
write(msgbuf,'(a)') |
52 |
&'// =======================================================' |
53 |
call print_message( msgbuf, standardmessageunit, |
54 |
& SQUEEZE_RIGHT , mythid) |
55 |
write(msgbuf,'(a)') |
56 |
&' ' |
57 |
call print_message( msgbuf, standardmessageunit, |
58 |
& SQUEEZE_RIGHT , mythid) |
59 |
CALL WRITE_0D_L ( SEAICEwriteState, INDEX_NONE, |
60 |
& 'SEAICEwriteState =', ' /* write sea ice state to file */') |
61 |
CALL WRITE_0D_L ( SEAICEuseDYNAMICS, INDEX_NONE, |
62 |
& 'SEAICEuseDYNAMICS =', ' /* use dynamics */') |
63 |
CALL WRITE_0D_I ( LAD, INDEX_NONE, |
64 |
& 'LAD =', ' /* time stepping scheme */') |
65 |
CALL WRITE_0D_I ( IMAX_TICE, INDEX_NONE, |
66 |
& 'IMAX_TICE =', ' /* iterations for ice heat budget */') |
67 |
CALL WRITE_0D_R8( SEAICE_deltaTtherm,INDEX_NONE, |
68 |
& 'SEAICE_deltaTtherm=', ' /* thermodynamic timestep */') |
69 |
CALL WRITE_0D_R8( SEAICE_deltaTdyn ,INDEX_NONE, |
70 |
& 'SEAICE_deltaTdyn =', ' /* dynamic timestep */') |
71 |
CALL WRITE_0D_R8( SEAICE_dumpFreq ,INDEX_NONE, |
72 |
& 'SEAICE_dumpFreq =', ' /* dump frequency */') |
73 |
CALL WRITE_0D_R8( SEAICE_taveFreq ,INDEX_NONE, |
74 |
& 'SEAICE_taveFreq =', ' /* time-averaging frequency */') |
75 |
CALL WRITE_0D_L ( SEAICE_dump_mdsio, INDEX_NONE, |
76 |
& 'SEAICE_dump_mdsio =',' /* write snap-shot using MDSIO */') |
77 |
CALL WRITE_0D_L ( SEAICE_tave_mdsio, INDEX_NONE, |
78 |
& 'SEAICE_tave_mdsio =',' /* write TimeAverage using MDSIO */') |
79 |
c CALL WRITE_0D_L ( SEAICE_mon_stdio, INDEX_NONE, |
80 |
c & 'SEAICE_mon_stdio =',' /* write monitor to std-outp */') |
81 |
CALL WRITE_0D_L ( SEAICE_dump_mnc, INDEX_NONE, |
82 |
& 'SEAICE_dump_mnc =',' /* write snap-shot using MNC */') |
83 |
CALL WRITE_0D_L ( SEAICE_tave_mnc, INDEX_NONE, |
84 |
& 'SEAICE_tave_mnc =',' /* write TimeAverage using MNC */') |
85 |
c CALL WRITE_0D_L ( SEAICE_mon_mnc, INDEX_NONE, |
86 |
c & 'SEAICE_mon_mnc =',' /* write monitor to netcdf file */') |
87 |
CALL WRITE_0D_R8( SEAICE_initialHEFF,INDEX_NONE, |
88 |
& 'SEAICE_initialHEFF=', ' /* initial sea-ice thickness */') |
89 |
CALL WRITE_0D_R8( SEAICE_drag ,INDEX_NONE, |
90 |
& 'SEAICE_drag =', ' /* air-ice drag coefficient */') |
91 |
CALL WRITE_0D_R8( OCEAN_drag ,INDEX_NONE, |
92 |
& 'OCEAN_drag =', ' /* air-ocean drag coefficient */') |
93 |
CALL WRITE_0D_R8( SEAICE_waterDrag ,INDEX_NONE, |
94 |
& 'SEAICE_waterDrag =', ' /* water-ice drag * density */') |
95 |
CALL WRITE_0D_R8( SEAICE_dryIceAlb ,INDEX_NONE, |
96 |
& 'SEAICE_dryIceAlb =', ' /* winter albedo */') |
97 |
CALL WRITE_0D_R8( SEAICE_wetIceAlb ,INDEX_NONE, |
98 |
& 'SEAICE_wetIceAlb =', ' /* summer albedo */') |
99 |
CALL WRITE_0D_R8( SEAICE_drySnowAlb ,INDEX_NONE, |
100 |
& 'SEAICE_drySnowAlb =', ' /* dry snow albedo */') |
101 |
CALL WRITE_0D_R8( SEAICE_wetSnowAlb ,INDEX_NONE, |
102 |
& 'SEAICE_wetSnowAlb =', ' /* wet snow albedo */') |
103 |
CALL WRITE_0D_R8( SEAICE_waterAlbedo,INDEX_NONE, |
104 |
& 'SEAICE_waterAlbedo=', ' /* water albedo */') |
105 |
CALL WRITE_0D_R8( SEAICE_strength ,INDEX_NONE, |
106 |
& 'SEAICE_strength =', ' /* sea-ice strength Pstar */') |
107 |
CALL WRITE_0D_R8( SEAICE_sensHeat ,INDEX_NONE, |
108 |
& 'SEAICE_sensHeat =', ' /* sensible heat transfer */') |
109 |
CALL WRITE_0D_R8( SEAICE_latentWater,INDEX_NONE, |
110 |
& 'SEAICE_latentWater=', ' /* latent heat transfer for water */') |
111 |
CALL WRITE_0D_R8( SEAICE_latentIce ,INDEX_NONE, |
112 |
& 'SEAICE_latentIce =', ' /* latent heat transfer for ice */') |
113 |
CALL WRITE_0D_R8( SEAICE_iceConduct ,INDEX_NONE, |
114 |
& 'SEAICE_iceConduct =', ' /* sea-ice conductivity */') |
115 |
CALL WRITE_0D_R8( SEAICE_snowConduct,INDEX_NONE, |
116 |
& 'SEAICE_snowConduct=', ' /* snow conductivity */') |
117 |
CALL WRITE_0D_R8( SEAICE_emissivity ,INDEX_NONE, |
118 |
& 'SEAICE_emissivity =', ' /* Stefan-Boltzman * emissivity */') |
119 |
CALL WRITE_0D_R8( SEAICE_snowThick ,INDEX_NONE, |
120 |
& 'SEAICE_snowThick =', ' /* cutoff snow thickness */') |
121 |
CALL WRITE_0D_R8( SEAICE_shortwave ,INDEX_NONE, |
122 |
& 'SEAICE_shortwave =', ' /* penetration shortwave radiation */') |
123 |
CALL WRITE_0D_R8( SEAICE_freeze ,INDEX_NONE, |
124 |
& 'SEAICE_freeze =', ' /* freezing temp. of sea water */') |
125 |
write(msgbuf,'(a)') |
126 |
&'Initial sea-ice thickness is read from file:' |
127 |
call print_message( msgbuf, standardmessageunit, |
128 |
& SQUEEZE_RIGHT , mythid) |
129 |
il = ilnblnk(HeffFile) |
130 |
write(msgbuf,'(a,a,a)') |
131 |
&' >> ',HeffFile(1:il),' <<' |
132 |
call print_message( msgbuf, standardmessageunit, |
133 |
& SQUEEZE_RIGHT , mythid) |
134 |
WRITE(msgBuf,'(A)') ' ; ' |
135 |
call print_message( msgbuf, standardmessageunit, |
136 |
& SQUEEZE_RIGHT , mythid) |
137 |
CALL WRITE_0D_R8( LSR_ERROR ,INDEX_NONE, |
138 |
& 'LSR_ERROR =', ' /* sets accuracy of LSR solver */') |
139 |
CALL WRITE_0D_R8( DIFF1 ,INDEX_NONE, |
140 |
& 'DIFF1 =', ' /* parameter used in advect.F */') |
141 |
CALL WRITE_0D_R8( A22 ,INDEX_NONE, |
142 |
& 'A22 =', ' /* parameter used in growth.F */') |
143 |
CALL WRITE_0D_R8( HO ,INDEX_NONE, |
144 |
& 'HO =', ' /* demarcation ice thickness */') |
145 |
CALL WRITE_0D_R8( MAX_HEFF ,INDEX_NONE, |
146 |
& 'MAX_HEFF =', ' /* maximum ice thickness */') |
147 |
CALL WRITE_0D_R8( MIN_ATEMP ,INDEX_NONE, |
148 |
& 'MIN_ATEMP =', ' /* minimum air temperature */') |
149 |
CALL WRITE_0D_R8( MIN_LWDOWN ,INDEX_NONE, |
150 |
& 'MIN_LWDOWN =', ' /* minimum downward longwave */') |
151 |
CALL WRITE_0D_R8( MAX_TICE ,INDEX_NONE, |
152 |
& 'MAX_TICE =', ' /* maximum ice temperature */') |
153 |
CALL WRITE_0D_R8( MIN_TICE ,INDEX_NONE, |
154 |
& 'MIN_TICE =', ' /* minimum ice temperature */') |
155 |
CALL WRITE_0D_R8( SEAICE_EPS ,INDEX_NONE, |
156 |
& 'SEAICE_EPS =', ' /* reduce derivative singularities */') |
157 |
write(msgbuf,'(a)') |
158 |
&'// =======================================================' |
159 |
call print_message( msgbuf, standardmessageunit, |
160 |
& SQUEEZE_RIGHT , mythid) |
161 |
write(msgbuf,'(a)') |
162 |
&'// Seaice configuration (SEAICE_PARM01) >>> END <<<' |
163 |
call print_message( msgbuf, standardmessageunit, |
164 |
& SQUEEZE_RIGHT , mythid) |
165 |
write(msgbuf,'(a)') |
166 |
&'// =======================================================' |
167 |
call print_message( msgbuf, standardmessageunit, |
168 |
& SQUEEZE_RIGHT , mythid) |
169 |
write(msgbuf,'(a)') |
170 |
|
171 |
_END_MASTER(myThid) |
172 |
_BARRIER |
173 |
|
174 |
return |
175 |
end |