[1897] | 1 | MODULE mod_ioserver_namelist |
---|
| 2 | |
---|
[2368] | 3 | USE nc4interface |
---|
[1897] | 4 | LOGICAL,SAVE :: using_server |
---|
| 5 | LOGICAL,SAVE :: using_oasis |
---|
| 6 | CHARACTER(LEN=100),SAVE :: client_id |
---|
| 7 | CHARACTER(LEN=100),SAVE :: server_id |
---|
| 8 | NAMELIST /coupling_param/ using_server,using_oasis,client_id,server_id |
---|
| 9 | |
---|
| 10 | INTEGER,SAVE :: global_mpi_buffer_size |
---|
| 11 | NAMELIST /mpi_param/ global_mpi_buffer_size |
---|
| 12 | |
---|
| 13 | INTEGER,PARAMETER,PRIVATE :: starting_unit=356 |
---|
[2364] | 14 | TYPE(snc4_ctl), SAVE :: snc4ioset |
---|
| 15 | INTEGER :: nn_nchunks_i, nn_nchunks_j, nn_nchunks_k |
---|
| 16 | LOGICAL :: ln_nc4zip=.false. |
---|
| 17 | NAMELIST /namnc4/ nn_nchunks_i, nn_nchunks_j, nn_nchunks_k, ln_nc4zip |
---|
[1897] | 18 | |
---|
| 19 | CONTAINS |
---|
| 20 | |
---|
| 21 | SUBROUTINE set_default_namelist |
---|
| 22 | IMPLICIT NONE |
---|
| 23 | |
---|
| 24 | using_server=.FALSE. |
---|
| 25 | using_oasis=.FALSE. |
---|
| 26 | client_id='unknown' |
---|
| 27 | server_id='unknown' |
---|
| 28 | global_mpi_buffer_size=512 |
---|
[2364] | 29 | snc4ioset%luse = .false. |
---|
[1897] | 30 | |
---|
| 31 | END SUBROUTINE set_default_namelist |
---|
| 32 | |
---|
| 33 | |
---|
| 34 | SUBROUTINE read_namelist |
---|
| 35 | IMPLICIT NONE |
---|
| 36 | LOGICAL :: opened |
---|
| 37 | INTEGER :: unit |
---|
| 38 | INTEGER :: ierr |
---|
| 39 | |
---|
| 40 | CALL set_default_namelist |
---|
| 41 | unit=starting_unit |
---|
| 42 | opened=.TRUE. |
---|
| 43 | DO WHILE (opened) |
---|
| 44 | unit=unit+1 |
---|
| 45 | INQUIRE(unit,OPENED=opened) |
---|
| 46 | ENDDO |
---|
| 47 | |
---|
| 48 | OPEN(UNIT=unit,FILE='xmlio_server.def',STATUS='old',IOSTAT=ierr) |
---|
| 49 | |
---|
| 50 | |
---|
| 51 | IF (ierr==0) THEN |
---|
| 52 | READ(unit,nml=coupling_param) |
---|
| 53 | READ(unit,nml=mpi_param) |
---|
[2364] | 54 | READ(unit,nml=namnc4,ERR=666,END=666) |
---|
| 55 | 666 global_mpi_buffer_size=global_mpi_buffer_size*1024*128 |
---|
[1897] | 56 | CLOSE(unit) |
---|
[2364] | 57 | IF (ln_nc4zip) THEN |
---|
| 58 | snc4ioset%ni = nn_nchunks_i |
---|
| 59 | snc4ioset%nj = nn_nchunks_j |
---|
| 60 | snc4ioset%nk = nn_nchunks_k |
---|
| 61 | snc4ioset%luse = ln_nc4zip |
---|
| 62 | ENDIF |
---|
[1897] | 63 | ELSE |
---|
| 64 | PRINT *,'WARNING : mod_ioserver::read_namelist : file xmlio_server.def is absent', & |
---|
| 65 | ' ---> using default parameter' |
---|
| 66 | ENDIF |
---|
| 67 | |
---|
| 68 | |
---|
| 69 | PRINT *,'namelist read --> ',using_server,using_oasis,client_id,server_id |
---|
| 70 | |
---|
| 71 | END SUBROUTINE read_namelist |
---|
| 72 | |
---|
| 73 | |
---|
| 74 | END MODULE mod_ioserver_namelist |
---|