6 SUBROUTINE write_grid (HSELECT,HPROGRAM,HGRID,PGRID_PAR,PLAT,PLON,PMESH_SIZE,KRESP,HDIR)
48 USE modi_write_gridtype_cartesian
50 USE modi_write_gridtype_conf_proj
52 USE modi_write_gridtype_gauss
54 USE modi_write_gridtype_ign
56 USE modi_write_gridtype_lonlat_reg
58 USE modi_write_gridtype_lonlatval
60 USE modi_write_gridtype_lonlat_rot
66 CHARACTER(LEN=*),
DIMENSION(:),
INTENT(IN) :: HSELECT
68 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
69 CHARACTER(LEN=10),
INTENT(IN) :: HGRID
70 REAL,
DIMENSION(:),
POINTER :: PGRID_PAR
71 REAL,
DIMENSION(:),
INTENT(IN) :: PLAT
72 REAL,
DIMENSION(:),
INTENT(IN) :: PLON
73 REAL,
DIMENSION(:),
INTENT(IN) :: PMESH_SIZE
74 INTEGER,
INTENT(OUT) :: KRESP
75 CHARACTER(LEN=1),
INTENT(IN),
OPTIONAL :: HDIR
85 CHARACTER(LEN=100) :: YCOMMENT
86 CHARACTER(LEN=1) :: YDIR
87 REAL(KIND=JPRB) :: ZHOOK_HANDLE
95 IF (
trim(hprogram) ==
'XIOS')
THEN 101 CALL write_surf(hselect, hprogram,
'GRID_TYPE',hgrid,kresp,ycomment)
109 IF (PRESENT(HDIR)) YDIR = HDIR 113 CALL WRITE_GRIDTYPE_CONF_PROJ(HSELECT, HPROGRAM,SIZE(PLAT),SIZE(PGRID_PAR),PGRID_PAR(:),KRESP,YDIR) 115 CALL WRITE_GRIDTYPE_CARTESIAN(HSELECT, HPROGRAM,SIZE(PLAT),SIZE(PGRID_PAR),PGRID_PAR(:),KRESP,YDIR) 117 CALL WRITE_GRIDTYPE_LONLAT_REG(HSELECT, HPROGRAM,SIZE(PLAT),SIZE(PGRID_PAR),PGRID_PAR(:),KRESP) 119 CALL WRITE_GRIDTYPE_GAUSS(HSELECT, HPROGRAM,SIZE(PLAT),SIZE(PGRID_PAR),PGRID_PAR(:),KRESP) 121 CALL WRITE_GRIDTYPE_IGN(HSELECT, HPROGRAM,SIZE(PLAT),SIZE(PGRID_PAR),PGRID_PAR(:),KRESP) 123 CALL WRITE_GRIDTYPE_LONLATVAL(HSELECT, HPROGRAM,SIZE(PLAT),SIZE(PGRID_PAR),PGRID_PAR(:),KRESP) 125 CALL WRITE_GRIDTYPE_LONLAT_ROT(HSELECT, HPROGRAM,SIZE(PLAT),SIZE(PGRID_PAR),PGRID_PAR(:),KRESP) 127 YCOMMENT='lon(degrees)
' 128 CALL WRITE_SURF(HSELECT, HPROGRAM,'lon
', PLON,KRESP,YCOMMENT) 129 .AND.
IF (KRESP/=0 LHOOK) CALL DR_HOOK('write_grid',1,ZHOOK_HANDLE) 131 YCOMMENT='lat(degrees)
' 132 CALL WRITE_SURF(HSELECT, HPROGRAM,'lat
', PLAT,KRESP,YCOMMENT) 133 .AND.
IF (KRESP/=0 LHOOK) CALL DR_HOOK('write_grid',1,ZHOOK_HANDLE) 135 YCOMMENT='mesh
SIZE (m2)
' 136 CALL WRITE_SURF(HSELECT, HPROGRAM,'mesh_size
',PMESH_SIZE,KRESP,YCOMMENT) 137 .AND.
IF (KRESP/=0 LHOOK) CALL DR_HOOK('write_grid',1,ZHOOK_HANDLE) 140 IF (LHOOK) CALL DR_HOOK('write_grid',1,ZHOOK_HANDLE) 142 !--------------------------------------------------------------------------- 144 END SUBROUTINE WRITE_GRID static const char * trim(const char *name, int *n)
subroutine write_grid(HSELECT, HPROGRAM, HGRID, PGRID_PAR, PLAT, PLON,