source: trunk/LMDZ.MARS/libf/phymars/comm_wrf.F90 @ 2141

Last change on this file since 2141 was 1590, checked in by aslmd, 8 years ago

moved interface for outputs from module_lmd_driver to update_outputs_physiq_mod. updated the nophysics case by adding a case dynphy_wrf_void_lmd_new which will serve as a template for a physiq interface

File size: 1.9 KB
Line 
1module comm_wrf
2
3!!
4!! This module is useful to output fields in WRF style
5!! -- useful for diagnostics that are not already in modules
6!!
7
8  REAL,SAVE,ALLOCATABLE :: comm_HR_SW(:,:)
9  REAL,SAVE,ALLOCATABLE :: comm_HR_LW(:,:)
10  REAL,SAVE,ALLOCATABLE :: comm_SWDOWNZ(:)
11  REAL,SAVE,ALLOCATABLE :: comm_TAU_DUST(:)
12  REAL,SAVE,ALLOCATABLE :: comm_RDUST(:,:)
13  REAL,SAVE,ALLOCATABLE :: comm_QSURFDUST(:)
14  REAL,SAVE,ALLOCATABLE :: comm_MTOT(:)
15  REAL,SAVE,ALLOCATABLE :: comm_ICETOT(:)
16  REAL,SAVE,ALLOCATABLE :: comm_VMR_ICE(:,:)
17  REAL,SAVE,ALLOCATABLE :: comm_TAU_ICE(:)
18  REAL,SAVE,ALLOCATABLE :: comm_RICE(:,:)
19
20contains
21
22  subroutine allocate_comm_wrf(ngrid,nlayer)
23  implicit none
24  integer,intent(in) :: ngrid ! number of atmospheric columns
25  integer,intent(in) :: nlayer ! number of atmospheric layers
26  if (.not.allocated(comm_HR_SW)) allocate(comm_HR_SW(ngrid,nlayer))
27  if (.not.allocated(comm_HR_LW)) allocate(comm_HR_LW(ngrid,nlayer))
28  if (.not.allocated(comm_SWDOWNZ)) allocate(comm_SWDOWNZ(ngrid))
29  if (.not.allocated(comm_TAU_DUST)) allocate(comm_TAU_DUST(ngrid))
30  if (.not.allocated(comm_RDUST)) allocate(comm_RDUST(ngrid,nlayer))
31  if (.not.allocated(comm_QSURFDUST)) allocate(comm_QSURFDUST(ngrid))
32  if (.not.allocated(comm_MTOT)) allocate(comm_MTOT(ngrid))
33  if (.not.allocated(comm_ICETOT)) allocate(comm_ICETOT(ngrid))
34  if (.not.allocated(comm_VMR_ICE)) allocate(comm_VMR_ICE(ngrid,nlayer))
35  if (.not.allocated(comm_TAU_ICE)) allocate(comm_TAU_ICE(ngrid))
36  if (.not.allocated(comm_RICE)) allocate(comm_RICE(ngrid,nlayer))
37  end subroutine allocate_comm_wrf
38
39  subroutine deallocate_comm_wrf
40  implicit none
41  deallocate(comm_HR_SW)
42  deallocate(comm_HR_LW)
43  deallocate(comm_SWDOWNZ)
44  deallocate(comm_TAU_DUST)
45  deallocate(comm_RDUST)
46  deallocate(comm_QSURFDUST)
47  deallocate(comm_MTOT)
48  deallocate(comm_ICETOT)
49  deallocate(comm_VMR_ICE)
50  deallocate(comm_TAU_ICE)
51  deallocate(comm_RICE)
52  end subroutine deallocate_comm_wrf
53
54end module comm_wrf
55
Note: See TracBrowser for help on using the repository browser.