2 |
C $Name$ |
C $Name$ |
3 |
|
|
4 |
#include "THSICE_OPTIONS.h" |
#include "THSICE_OPTIONS.h" |
5 |
|
|
6 |
C !ROUTINE: THSICE_CHECK_CONSERV |
C !ROUTINE: THSICE_CHECK_CONSERV |
7 |
C !INTERFACE: |
C !INTERFACE: |
8 |
SUBROUTINE THSICE_CHECK_CONSERV( |
SUBROUTINE THSICE_CHECK_CONSERV( |
11 |
I qleft, ffresh, fsalt, flxAtm, frwAtm, |
I qleft, ffresh, fsalt, flxAtm, frwAtm, |
12 |
I myTime, myIter, myThid ) |
I myTime, myIter, myThid ) |
13 |
C *==========================================================* |
C *==========================================================* |
14 |
C | S/R THSICE_CHECK_CONSERV |
C | S/R THSICE_CHECK_CONSERV |
15 |
C | o Check Conservation of Energy, water and salt |
C | o Check Conservation of Energy, water and salt |
16 |
C *==========================================================* |
C *==========================================================* |
17 |
|
|
25 |
#include "THSICE_PARAMS.h" |
#include "THSICE_PARAMS.h" |
26 |
#include "THSICE_VARS.h" |
#include "THSICE_VARS.h" |
27 |
#include "THSICE_TAVE.h" |
#include "THSICE_TAVE.h" |
28 |
|
|
29 |
C !INPUT/OUTPUT PARAMETERS: |
C !INPUT/OUTPUT PARAMETERS: |
30 |
C === Routine arguments === |
C === Routine arguments === |
31 |
C myIter :: iteration counter for this thread |
C myIter :: iteration counter for this thread |
48 |
_RL dEnerg, dWater, dSalt |
_RL dEnerg, dWater, dSalt |
49 |
_RL flxFrac |
_RL flxFrac |
50 |
|
|
51 |
1010 FORMAT(A,1P4E11.3) |
1010 FORMAT(A,1P4E14.6) |
52 |
|
|
53 |
flxFrac = iceFrac |
flxFrac = iceFrac |
54 |
IF (iceStart.EQ.1) flxFrac = 1. |
IF (iceStart.EQ.1) flxFrac = 1. |
55 |
|
|
56 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
57 |
dEnerg= -rhos*snowHeight(i,j,bi,bj)*qsnow |
dEnerg= -rhos*snowHeight(i,j,bi,bj)*qsnow |
58 |
& -rhoi*iceHeight(i,j,bi,bj) |
& -rhoi*iceHeight(i,j,bi,bj) |
59 |
& *(Qice1(i,j,bi,bj)+Qice2(i,j,bi,bj))*0.5 |
& *(Qice1(i,j,bi,bj)+Qice2(i,j,bi,bj))*0.5 |
60 |
dWater = rhos*snowheight(i,j,bi,bj)+rhoi*iceHeight(i,j,bi,bj) |
dWater = rhos*snowheight(i,j,bi,bj)+rhoi*iceHeight(i,j,bi,bj) |
63 |
& dEnerg, dWater, dSalt |
& dEnerg, dWater, dSalt |
64 |
C-- |
C-- |
65 |
dEnerg = dEnerg*iceFrac |
dEnerg = dEnerg*iceFrac |
66 |
& + compact*( rhos*hSnow*qsnow |
& + compact*( rhos*hSnow*qsnow |
67 |
& + rhoi*hIce*(qicen(1)+qicen(2))*0.5 |
& + rhoi*hIce*(qicen(1)+qicen(2))*0.5 |
68 |
& ) |
& ) |
69 |
dWater = dWater*iceFrac |
dWater = dWater*iceFrac |