My Project
ice_state.f90
Go to the documentation of this file.
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 !/===========================================================================/
13 ! CVS VERSION INFORMATION
14 ! $Id$
15 ! $Name$
16 ! $Revision$
17 !/===========================================================================/
18 
19 !=======================================================================
20 !BOP
21 !
22 ! !MODULE: ice_state - primary state variables
23 !
24 ! !DESCRIPTION:
25 !
26 ! Primary state variables in various configurations
27 ! Note: other state variables are at the end of this...
28 ! The primary state variable names are:
29 !-------------------------------------------------------------------
30 ! for each category aggregated over units
31 ! categories
32 !-------------------------------------------------------------------
33 ! aicen(i,j,n) aice(i,j) ---
34 ! vicen(i,j,n) vice(i,j) m
35 ! vsnon(i,j,n) vsno(i,j) m
36 ! eicen(i,j,k) eice(i,j) J/m$^2$
37 ! esnon(i,j,n) esno(i,j) J/$m^2$
38 ! Tsfcn(i,j,n) Tsfc(i,j) deg
39 !
40 ! Area is dimensionless because aice is the fractional area
41 ! (normalized so that the sum over all categories, including open
42 ! water, is 1.0). That is why vice/vsno have units of m instead of
43 ! m$^3$, and eice/esno have units of J/m$^2$ instead of J.
44 !
45 ! Variable names follow these rules:
46 !
47 ! (1) For 3D variables (indices i,j,n), write 'ice' or 'sno' or
48 ! 'sfc' and put an 'n' at the end.
49 ! (2) For 2D variables (indices i,j) aggregated over all categories,
50 ! write 'ice' or 'sno' or 'sfc' without the 'n'.
51 ! (3) For 2D variables (indices i,j) associated with an individual
52 ! category, write 'i' or 's' instead of 'ice' or 'sno' and put an 'n'
53 ! at the end: e.g. hin, hsn. These are not declared here
54 ! but in individual modules (e.g., ice\_therm\_vertical).
55 !
56 ! !REVISION HISTORY:
57 !
58 ! authors C. M. Bitz, UW
59 ! Elizabeth C. Hunke, LANL
60 ! William H. Lipscomb, LANL
61 !
62 ! !INTERFACE:
63 !
64  module ice_state
65 !
66 ! !USES:
67 !
68  use ice_kinds_mod
69  use ice_model_size
70  use ice_domain
71 !
72 !EOP
73 !
74  implicit none
75 
76  !-----------------------------------------------------------------
77  ! state of the ice aggregated over all categories
78  !-----------------------------------------------------------------
79 
80 ! real (kind=dbl_kind), dimension (imt_local,jmt_local) :: &
81 ! real (kind=dbl_kind),dimension(:,:),allocatable,save :: &
82  real (kind=dbl_kind),dimension(:,:),allocatable,save,TARGET :: &
83  aice &! concentration of ice
84  , vice &! volume per unit area of ice (m)
85  , vsno &! volume per unit area of snow (m)
86  , tsfc &! temperature of ice/snow top surface (C)
87  , eice &! energy of melt. of ice (J/m^2)
88  , esno &! energy of melt. of snow layer (J/m^2)
89  , tmass &! total mass of ice and snow
90  , aice_init ! concentration of ice at beginning of dt (for diagnostics)
91 
92  !-----------------------------------------------------------------
93  ! state of the ice for each category
94  !-----------------------------------------------------------------
95 
96 ! real (kind=dbl_kind), dimension (imt_local,jmt_local,ncat) :: &
97  real (kind=dbl_kind),dimension(:,:,:),allocatable,save,TARGET :: &
98  aicen &! concentration of ice
99  , vicen &! volume per unit area of ice (m)
100  , vsnon &! volume per unit area of snow (m)
101  , tsfcn &! temperature of ice/snow top surface (C)
102  , esnon ! energy of melt. of snow layer (J/m^2)
103 
104 ! real (kind=dbl_kind) :: &
105  real (kind=dbl_kind),dimension(:,:),allocatable,save,TARGET :: &
106  aice0 ! concentration of open water
107 
108  real (kind=dbl_kind),dimension(:,:,:),allocatable,save,TARGET :: &
109  eicen ! energy of melting for
110 
111 ! aice0(imt_local,jmt_local) &! concentration of open water
112 ! , eicen(imt_local,jmt_local,ntilay) ! energy of melting for
113  ! each ice layer (J/m^2)
114 
115  !-----------------------------------------------------------------
116  ! other variables closely related to the state of the ice
117  !-----------------------------------------------------------------
118 
119 ! real (kind=dbl_kind), dimension (imt_local,jmt_local) :: &
120  real (kind=dbl_kind),dimension(:,:),allocatable,save :: &
121  uvel &! x-component of velocity (m/s)
122  , vvel &! y-component of velocity (m/s)
123  , strength ! ice strength (N/m)
124 
125 
126 
127  end module ice_state
128 
129 !=======================================================================
real(kind=dbl_kind), dimension(:,:), allocatable, target, save eice
Definition: ice_state.f90:82
real(kind=dbl_kind), dimension(:,:,:), allocatable, target, save esnon
Definition: ice_state.f90:97
real(kind=dbl_kind), dimension(:,:), allocatable, target, save esno
Definition: ice_state.f90:82
integer, parameter dbl_kind
real(kind=dbl_kind), dimension(:,:), allocatable, save uvel
Definition: ice_state.f90:120
real(kind=dbl_kind), dimension(:,:), allocatable, target, save tmass
Definition: ice_state.f90:82
real(kind=dbl_kind), dimension(:,:), allocatable, save vvel
Definition: ice_state.f90:120
real(kind=dbl_kind), dimension(:,:), allocatable, target, save vsno
Definition: ice_state.f90:82
real(kind=dbl_kind), dimension(:,:,:), allocatable, target, save tsfcn
Definition: ice_state.f90:97
real(kind=dbl_kind), dimension(:,:,:), allocatable, target, save vicen
Definition: ice_state.f90:97
real(kind=dbl_kind), dimension(:,:), allocatable, target, save aice
Definition: ice_state.f90:82
real(kind=dbl_kind), dimension(:,:,:), allocatable, target, save eicen
Definition: ice_state.f90:108
real(kind=dbl_kind), dimension(:,:), allocatable, target, save aice0
Definition: ice_state.f90:105
real(kind=dbl_kind), dimension(:,:,:), allocatable, target, save aicen
Definition: ice_state.f90:97
real(kind=dbl_kind), dimension(:,:), allocatable, target, save vice
Definition: ice_state.f90:82
real(kind=dbl_kind), dimension(:,:), allocatable, target, save aice_init
Definition: ice_state.f90:82
real(kind=dbl_kind), dimension(:,:), allocatable, target, save tsfc
Definition: ice_state.f90:82
real(kind=dbl_kind), dimension(:,:), allocatable, save strength
Definition: ice_state.f90:120
real(kind=dbl_kind), dimension(:,:,:), allocatable, target, save vsnon
Definition: ice_state.f90:97