source: LMDZ5/trunk/libf/bibio/iotd_ini.F90 @ 2121

Last change on this file since 2121 was 1980, checked in by fhourdin, 11 years ago

Interface legere de sorties netcdf. Peut etre utilisee hors de LMDZ
Light interface for netcdf. Can be used outside LMDZ

  • Property svn:executable set to *
File size: 3.3 KB
Line 
1      SUBROUTINE iotd_ini(fichnom,iim,jjm,llm,prlonv,prlatu,pcoordv)
2      IMPLICIT NONE
3
4!=======================================================================
5!
6!   Auteur:  F. Hourdin
7!   -------
8!
9!   Objet:
10!   ------
11!   Light interface for netcdf outputs. can be used outside LMDZ
12!
13!=======================================================================
14!-----------------------------------------------------------------------
15!   Declarations:
16!   -------------
17
18#include "netcdf.inc"
19#include "iotd.h"
20
21!   Arguments:
22!   ----------
23
24      integer iim,jjm,llm
25      real prlonv(iim),prlatu(jjm),pcoordv(llm),timestep
26      INTEGER id_FOCE
27
28      integer corner(4),edges(4),ndim
29      real  px(1000)
30      character (len=10) :: nom
31
32!   Local:
33!   ------
34      INTEGER ierr
35
36      integer :: nvarid
37      integer, dimension(2) :: id 
38      integer :: varid
39
40      character*10 fichnom
41      real*4 rlonv(iim),rlatu(jjm),coordv(llm)
42
43      real pi
44
45      print*,'INIIO prlonv ',prlonv
46      imax=iim
47      jmax=jjm
48      lmax=llm
49
50      rlonv=prlonv
51      rlatu=prlatu
52      coordv=pcoordv
53
54!-----------------------------------------------------------------------
55
56
57      pi=2.*asin(1.)
58
59! Define dimensions
60   
61         ! Create the NetCDF file
62         ierr=NF_CREATE(fichnom, NF_CLOBBER, nid)
63         ! Define the 'Time' dimension
64         ierr=nf_def_dim(nid,"Time",NF_UNLIMITED,dim_coord(4))
65         ! Define the 'Time' variable
66         ierr=NF_DEF_VAR(nid, "Time", NF_FLOAT, 1, dim_coord(4),varid)
67!        ! Add a long_name attribute
68!        ierr=NF_PUT_ATT_TEXT(nid, varid, "long_name",4,"Time")
69!        ! Add a units attribute
70         ierr=NF_PUT_ATT_TEXT(nid, varid,'units',29,"days since 0000-00-0 00:00:00")
71         ! Switch out of NetCDF Define mode
72
73      ierr=NF_DEF_DIM(nid, "longitude", iim, dim_coord(1))
74      ierr=NF_DEF_DIM(nid, "latitude", jjm, dim_coord(2))
75      ierr=NF_DEF_DIM(nid, "altitude", llm, dim_coord(3))
76
77
78      ierr=NF_ENDDEF(nid)
79!
80!  Contol parameters for this run
81! --------------------------
82
83      ierr=NF_REDEF(nid)
84      ierr=NF_DEF_VAR(nid,"longitude", NF_FLOAT, 1, dim_coord(1),nvarid)
85!     ierr=NF_PUT_ATT_TEXT(nid,nvarid,"long_name", 14,
86!    .      "East longitude")
87!     ierr=NF_PUT_ATT_TEXT(nid,nvarid,'units',12,"degrees_east")
88      ierr=NF_ENDDEF(nid)
89      ierr=NF_PUT_VAR_REAL(nid,nvarid,rlonv)
90       print*,ierr
91
92! --------------------------
93      ierr=NF_REDEF(nid)
94      ierr=NF_DEF_VAR(nid, "latitude", NF_FLOAT, 1, dim_coord(2),nvarid)
95!     ierr=NF_PUT_ATT_TEXT(nid,nvarid,'units',13,"degrees_north")
96!     ierr=NF_PUT_ATT_TEXT(nid,nvarid,"long_name", 14,"North latitude")
97      ierr=NF_ENDDEF(nid)
98      ierr=NF_PUT_VAR_REAL(nid,nvarid,rlatu)
99!
100! --------------------------
101      ierr=NF_REDEF(nid)
102      ierr=NF_DEF_VAR(nid, "altitude", NF_FLOAT, 1,dim_coord(3),nvarid)
103      ierr=NF_PUT_ATT_TEXT(nid,nvarid,"long_name",10,"pseudo-alt")
104!     ierr=NF_PUT_ATT_TEXT(nid,nvarid,'units',2,"km")
105      if ( pcoordv(2)>pcoordv(1) ) then
106         ierr=NF_PUT_ATT_TEXT(nid,nvarid,"long_name",10,"pseudo-alt")
107         ierr=NF_PUT_ATT_TEXT(nid,nvarid,'positive',2,"up")
108      else
109         ierr=NF_PUT_ATT_TEXT(nid,nvarid,"long_name",8,"pressure")
110         ierr = NF_PUT_ATT_TEXT (nid,nvarid,'positive',4,"down")
111      endif
112      ierr=NF_ENDDEF(nid)
113
114      ierr=NF_PUT_VAR_REAL(nid,nvarid,coordv)
115!
116      END
Note: See TracBrowser for help on using the repository browser.