1 |
module createnewfield_m |
2 |
|
3 |
implicit none |
4 |
|
5 |
contains |
6 |
|
7 |
subroutine CreateNewField(name, dimx, dimy, dimz) |
8 |
|
9 |
USE netcdf, ONLY: nf90_clobber, nf90_double, nf90_unlimited |
10 |
USE netcdf95, ONLY: nf95_create, nf95_def_dim, nf95_def_var, nf95_enddef |
11 |
USE write_field, ONLY: fieldid, fieldindex, fieldname, fieldvarid, nbfield |
12 |
|
13 |
character(len = *), intent(in):: name |
14 |
integer, intent(in):: dimx, dimy, dimz |
15 |
|
16 |
! Local: |
17 |
integer TabDim(4) |
18 |
|
19 |
!-------------------------------------------------------------------- |
20 |
|
21 |
NbField = NbField + 1 |
22 |
FieldName(NbField) = TRIM(ADJUSTL(name)) |
23 |
FieldIndex(NbField) = 1 |
24 |
|
25 |
call NF95_CREATE(TRIM(ADJUSTL(name)) // '.nc', NF90_CLOBBER, & |
26 |
FieldId(NbField)) |
27 |
call NF95_DEF_DIM(FieldId(NbField), 'X', dimx, TabDim(1)) |
28 |
call NF95_DEF_DIM(FieldId(NbField), 'Y', dimy, TabDim(2)) |
29 |
call NF95_DEF_DIM(FieldId(NbField), 'Z', dimz, TabDim(3)) |
30 |
call NF95_DEF_DIM(FieldId(NbField), 'iter', NF90_UNLIMITED, TabDim(4)) |
31 |
call NF95_DEF_VAR(FieldId(NbField), FieldName(NbField), NF90_DOUBLE, & |
32 |
TabDim, FieldVarId(NbField)) |
33 |
call NF95_ENDDEF(FieldId(NbField)) |
34 |
|
35 |
end subroutine CreateNewField |
36 |
|
37 |
end module createnewfield_m |