/[lmdze]/trunk/filtrez/test_inifilr.f
ViewVC logotype

Diff of /trunk/filtrez/test_inifilr.f

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 167 by guez, Mon Aug 24 16:30:33 2015 UTC revision 168 by guez, Wed Sep 9 10:41:47 2015 UTC
# Line 11  program test_inifilr Line 11  program test_inifilr
11    use netcdf, only: NF90_CLOBBER, NF90_FLOAT    use netcdf, only: NF90_CLOBBER, NF90_FLOAT
12    use netcdf95, only: nf95_create, NF95_DEF_DIM, NF95_DEF_VAR, NF95_ENDDEF, &    use netcdf95, only: nf95_create, NF95_DEF_DIM, NF95_DEF_VAR, NF95_ENDDEF, &
13         NF95_PUT_VAR, NF95_CLOSE, nf95_put_att         NF95_PUT_VAR, NF95_CLOSE, nf95_put_att
   
14    use nr_util, only: pi    use nr_util, only: pi
15    use unit_nml_m, only: unit_nml    use unit_nml_m, only: unit_nml
16    use read_serre_m, only: read_serre    use read_serre_m, only: read_serre
# Line 19  program test_inifilr Line 18  program test_inifilr
18    IMPLICIT NONE    IMPLICIT NONE
19    
20    integer ncid, dimid_longitude    integer ncid, dimid_longitude
21    integer dimid_rlatu_north, dimid_rlatv_north    integer dimid_rlatu, dimid_rlatv
22    integer dimid_rlatu_south, dimid_rlatv_south    integer varid_matriceu, varid_matrinv, varid_matricev
23    integer varid_matriceun, varid_matrinvn, varid_matricevn    integer varid_rlatu, varid_rlatv
   integer varid_matriceus, varid_matrinvs, varid_matricevs  
   integer varid_rlatu_north, varid_rlatv_north  
   integer varid_rlatu_south, varid_rlatv_south  
24    
25    !-----------------------------------------------------------------------    !-----------------------------------------------------------------------
26    
# Line 43  program test_inifilr Line 39  program test_inifilr
39    call nf95_create("test_inifilr_out.nc", NF90_CLOBBER, ncid)    call nf95_create("test_inifilr_out.nc", NF90_CLOBBER, ncid)
40    
41    call NF95_DEF_DIM(ncid, "longitude", iim, dimid_longitude)    call NF95_DEF_DIM(ncid, "longitude", iim, dimid_longitude)
42    call NF95_DEF_DIM(ncid, "rlatu_north", jfiltnu - 1, dimid_rlatu_north)    call NF95_DEF_DIM(ncid, "rlatu", jfiltnu + jjm - jfiltsu, dimid_rlatu)
43    call NF95_DEF_DIM(ncid, "rlatv_north", jfiltnv, dimid_rlatv_north)    call NF95_DEF_DIM(ncid, "rlatv", jfiltnv + jjm - jfiltsv + 1, dimid_rlatv)
44    call NF95_DEF_DIM(ncid, "rlatu_south", jjm - jfiltsu + 1, dimid_rlatu_south)  
45    call NF95_DEF_DIM(ncid, "rlatv_south", jjm - jfiltsv + 1, dimid_rlatv_south)    call NF95_DEF_VAR(ncid, "rlatu", NF90_FLOAT, dimid_rlatu, varid_rlatu)
46      call nf95_put_att(ncid, varid_rlatu, "units", "degrees_north")
47    call NF95_DEF_VAR(ncid, "rlatu_north", NF90_FLOAT, dimid_rlatu_north, &  
48         varid_rlatu_north)    call NF95_DEF_VAR(ncid, "rlatv", NF90_FLOAT, dimid_rlatv, varid_rlatv)
49    call nf95_put_att(ncid, varid_rlatu_north, "units", "degrees_north")    call nf95_put_att(ncid, varid_rlatv, "units", "degrees_north")
50    
51    call NF95_DEF_VAR(ncid, "rlatv_north", NF90_FLOAT, dimid_rlatv_north, &    call NF95_DEF_VAR(ncid, "matriceu", NF90_FLOAT, &
52         varid_rlatv_north)         (/dimid_longitude, dimid_longitude, dimid_rlatu/), varid_matriceu)
53    call nf95_put_att(ncid, varid_rlatv_north, "units", "degrees_north")    call NF95_DEF_VAR(ncid, "matrinv", NF90_FLOAT, &
54           (/dimid_longitude, dimid_longitude, dimid_rlatu/), varid_matrinv)
55    call NF95_DEF_VAR(ncid, "rlatu_south", NF90_FLOAT, dimid_rlatu_south, &    call NF95_DEF_VAR(ncid, "matricev", NF90_FLOAT, &
56         varid_rlatu_south)         (/dimid_longitude, dimid_longitude, dimid_rlatv/), varid_matricev)
   call nf95_put_att(ncid, varid_rlatu_south, "units", "degrees_north")  
   
   call NF95_DEF_VAR(ncid, "rlatv_south", NF90_FLOAT, dimid_rlatv_south, &  
        varid_rlatv_south)  
   call nf95_put_att(ncid, varid_rlatv_south, "units", "degrees_north")  
   
   
   call NF95_DEF_VAR(ncid, "matriceun", NF90_FLOAT, &  
        (/dimid_longitude, dimid_longitude, dimid_rlatu_north/), varid_matriceun)  
   call NF95_DEF_VAR(ncid, "matrinvn", NF90_FLOAT, &  
        (/dimid_longitude, dimid_longitude, dimid_rlatu_north/), varid_matrinvn)  
   call NF95_DEF_VAR(ncid, "matricevn", NF90_FLOAT, &  
        (/dimid_longitude, dimid_longitude, dimid_rlatv_north/), varid_matricevn)  
   call NF95_DEF_VAR(ncid, "matriceus", NF90_FLOAT, &  
        (/dimid_longitude, dimid_longitude, dimid_rlatu_south/), varid_matriceus)  
   call NF95_DEF_VAR(ncid, "matrinvs", NF90_FLOAT, &  
        (/dimid_longitude, dimid_longitude, dimid_rlatu_south/), varid_matrinvs)  
   call NF95_DEF_VAR(ncid, "matricevs", NF90_FLOAT, &  
        (/dimid_longitude, dimid_longitude, dimid_rlatv_south/), varid_matricevs)  
57    
58    call NF95_ENDDEF(ncid)    call NF95_ENDDEF(ncid)
59    
60    call NF95_PUT_VAR(ncid, varid_rlatu_north, rlatu(2:jfiltnu) / pi * 180.)    call NF95_PUT_VAR(ncid, varid_rlatu, &
61    call NF95_PUT_VAR(ncid, varid_rlatv_north, rlatv(:jfiltnv) / pi * 180.)         (/rlatu(2:jfiltnu), rlatu(jfiltsu:jjm)/) / pi * 180.)
62    call NF95_PUT_VAR(ncid, varid_rlatu_south, rlatu(jfiltsu:jjm) / pi * 180.)    call NF95_PUT_VAR(ncid, varid_rlatv, &
63    call NF95_PUT_VAR(ncid, varid_rlatv_south, rlatv(jfiltsv:) / pi * 180.)         (/rlatv(:jfiltnv), rlatv(jfiltsv:)/) / pi * 180.)
64    
65    call NF95_PUT_VAR(ncid, varid_matriceun, matriceun)    call NF95_PUT_VAR(ncid, varid_matriceu, matriceun)
66    call NF95_PUT_VAR(ncid, varid_matrinvn, matrinvn)    call NF95_PUT_VAR(ncid, varid_matrinv, matrinvn)
67    call NF95_PUT_VAR(ncid, varid_matricevn, matricevn)    call NF95_PUT_VAR(ncid, varid_matricev, matricevn)
68    call NF95_PUT_VAR(ncid, varid_matriceus, matriceus)    call NF95_PUT_VAR(ncid, varid_matriceu, matriceus, start = (/1, 1, jfiltnu/))
69    call NF95_PUT_VAR(ncid, varid_matrinvs, matrinvs)    call NF95_PUT_VAR(ncid, varid_matrinv, matrinvs, start = (/1, 1, jfiltnu/))
70    call NF95_PUT_VAR(ncid, varid_matricevs, matricevs)    call NF95_PUT_VAR(ncid, varid_matricev, matricevs, &
71           start = (/1, 1, jfiltnv + 1/))
72    
73    call NF95_CLOSE(ncid)    call NF95_CLOSE(ncid)
74    

Legend:
Removed from v.167  
changed lines
  Added in v.168

  ViewVC Help
Powered by ViewVC 1.1.21