chgres_cube  1.7.0
 All Data Structures Files Functions Variables
surface_target_data.F90
Go to the documentation of this file.
1 
4 
10 
11  use esmf
12 
13  implicit none
14 
15  private
16 
17 ! surface fields (not including nst)
18  type(esmf_field), public :: canopy_mc_target_grid
19 
20  type(esmf_field), public :: f10m_target_grid
21 
23  type(esmf_field), public :: ffmm_target_grid
24 
26  type(esmf_field), public :: q2m_target_grid
27 
28  type(esmf_field), public :: seaice_depth_target_grid
29 
30  type(esmf_field), public :: seaice_fract_target_grid
31 
32  type(esmf_field), public :: seaice_skin_temp_target_grid
33 
34  type(esmf_field), public :: skin_temp_target_grid
35 
36  type(esmf_field), public :: srflag_target_grid
37 
38  type(esmf_field), public :: snow_liq_equiv_target_grid
39 
40  type(esmf_field), public :: snow_depth_target_grid
41 
42  type(esmf_field), public :: soil_temp_target_grid
43 
44  type(esmf_field), public :: soilm_liq_target_grid
45 
46  type(esmf_field), public :: soilm_tot_target_grid
47 
48  type(esmf_field), public :: t2m_target_grid
49 
50  type(esmf_field), public :: tprcp_target_grid
51 
52  type(esmf_field), public :: ustar_target_grid
53 
54  type(esmf_field), public :: z0_target_grid
55 
56  type(esmf_field), public :: lai_target_grid
57 
58 
59 ! nst fields
60  type(esmf_field), public :: c_d_target_grid
61 
62  type(esmf_field), public :: c_0_target_grid
63 
64  type(esmf_field), public :: d_conv_target_grid
65 
66  type(esmf_field), public :: dt_cool_target_grid
67 
68  type(esmf_field), public :: ifd_target_grid
69 
71  type(esmf_field), public :: qrain_target_grid
72 
73  type(esmf_field), public :: tref_target_grid
74 
75  type(esmf_field), public :: w_d_target_grid
76 
77  type(esmf_field), public :: w_0_target_grid
78 
79  type(esmf_field), public :: xs_target_grid
80 
82  type(esmf_field), public :: xt_target_grid
83 
85  type(esmf_field), public :: xu_target_grid
86 
88  type(esmf_field), public :: xv_target_grid
89 
91  type(esmf_field), public :: xz_target_grid
92 
93  type(esmf_field), public :: xtts_target_grid
94 
95  type(esmf_field), public :: xzts_target_grid
96 
97  type(esmf_field), public :: z_c_target_grid
98 
99  type(esmf_field), public :: zm_target_grid
100 
101 
102  public :: cleanup_target_nst_data
103  public :: cleanup_target_sfc_data
104 
105  contains
106 
112 
113  implicit none
114 
115  integer :: rc
116 
117  print*,"- DESTROY TARGET GRID SURFACE FIELDS."
118  call esmf_fielddestroy(t2m_target_grid, rc=rc)
119  call esmf_fielddestroy(q2m_target_grid, rc=rc)
120  call esmf_fielddestroy(tprcp_target_grid, rc=rc)
121  call esmf_fielddestroy(f10m_target_grid, rc=rc)
122  call esmf_fielddestroy(ffmm_target_grid, rc=rc)
123  call esmf_fielddestroy(ustar_target_grid, rc=rc)
124  call esmf_fielddestroy(snow_liq_equiv_target_grid, rc=rc)
125  call esmf_fielddestroy(snow_depth_target_grid, rc=rc)
126  call esmf_fielddestroy(seaice_fract_target_grid, rc=rc)
127  call esmf_fielddestroy(seaice_depth_target_grid, rc=rc)
128  call esmf_fielddestroy(seaice_skin_temp_target_grid, rc=rc)
129  call esmf_fielddestroy(srflag_target_grid, rc=rc)
130  call esmf_fielddestroy(skin_temp_target_grid, rc=rc)
131  call esmf_fielddestroy(canopy_mc_target_grid, rc=rc)
132  call esmf_fielddestroy(lai_target_grid,rc=rc)
133  call esmf_fielddestroy(z0_target_grid, rc=rc)
134  call esmf_fielddestroy(soil_temp_target_grid, rc=rc)
135  call esmf_fielddestroy(soilm_tot_target_grid, rc=rc)
136  call esmf_fielddestroy(soilm_liq_target_grid, rc=rc)
137 
138  end subroutine cleanup_target_sfc_data
139 
145 
146  implicit none
147 
148  integer :: rc
149 
150  print*,"- DESTROY TARGET GRID NST DATA."
151 
152  call esmf_fielddestroy(c_d_target_grid, rc=rc)
153  call esmf_fielddestroy(c_0_target_grid, rc=rc)
154  call esmf_fielddestroy(d_conv_target_grid, rc=rc)
155  call esmf_fielddestroy(dt_cool_target_grid, rc=rc)
156  call esmf_fielddestroy(ifd_target_grid, rc=rc)
157  call esmf_fielddestroy(qrain_target_grid, rc=rc)
158  call esmf_fielddestroy(tref_target_grid, rc=rc)
159  call esmf_fielddestroy(w_d_target_grid, rc=rc)
160  call esmf_fielddestroy(w_0_target_grid, rc=rc)
161  call esmf_fielddestroy(xs_target_grid, rc=rc)
162  call esmf_fielddestroy(xt_target_grid, rc=rc)
163  call esmf_fielddestroy(xu_target_grid, rc=rc)
164  call esmf_fielddestroy(xv_target_grid, rc=rc)
165  call esmf_fielddestroy(xz_target_grid, rc=rc)
166  call esmf_fielddestroy(xtts_target_grid, rc=rc)
167  call esmf_fielddestroy(xzts_target_grid, rc=rc)
168  call esmf_fielddestroy(z_c_target_grid, rc=rc)
169  call esmf_fielddestroy(zm_target_grid, rc=rc)
170 
171  end subroutine cleanup_target_nst_data
172 
173  end module surface_target_data
subroutine, public cleanup_target_sfc_data
Free up memory once the target grid surface fields are no longer needed.
subroutine, public cleanup_target_nst_data
Free up memory once the target grid nst fields are no longer needed.
Module to hold ESMF fields associated with the target grid surface data.