New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 11624 for NEMO/branches/2019/dev_r11613_ENHANCE-04_namelists_as_internalfiles/src/SAO/nemogcm.F90 – NEMO

Ignore:
Timestamp:
2019-10-01T15:07:45+02:00 (5 years ago)
Author:
acc
Message:

Branch 2019/dev_r11613_ENHANCE-04_namelists_as_internalfiles. Substantive changes required to replace all namelists with internal files. These are the key changes only; to compile and run tests all REWIND and CLOSE operations on the (no longer) units have to be removed. These changes affect many more files but can be scripted so are not included here in order to make a later merge easier. The scripts used to prepare code for testing are included on: wiki:2019WP/ENHANCE-04_AndrewC-reporting/Internal_Namelists. With these additional changes this code passes most SETTE tests but the AGRIF preprocessor does not currently accept the new allocatable character strings. To be investigated.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r11613_ENHANCE-04_namelists_as_internalfiles/src/SAO/nemogcm.F90

    r11536 r11624  
    135135      IF( lwm )   CALL ctl_opn(     numout,        'ocean.output', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 
    136136      ! open reference and configuration namelist files 
    137                   CALL ctl_opn( numnam_ref,        'namelist_ref',     'OLD', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 
    138                   CALL ctl_opn( numnam_cfg,        'namelist_cfg',     'OLD', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 
     137                  CALL load_nml( numnam_ref,        'namelist_ref',                                          -1, .FALSE. ) 
     138                  CALL load_nml( numnam_cfg,        'namelist_cfg',                                          -1, .FALSE. ) 
    139139      IF( lwm )   CALL ctl_opn(     numond, 'output.namelist.dyn', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 
    140140      ! open /dev/null file to be able to supress output write easily 
     
    145145      !                             !--------------------! 
    146146      ! 
    147       REWIND( numnam_ref )              ! Namelist namctl in reference namelist 
    148147      READ  ( numnam_ref, namctl, IOSTAT = ios, ERR = 901 ) 
    149148901   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namctl in reference namelist' ) 
    150       REWIND( numnam_cfg )              ! Namelist namctl in confguration namelist 
    151149      READ  ( numnam_cfg, namctl, IOSTAT = ios, ERR = 902 ) 
    152150902   IF( ios >  0 )   CALL ctl_nam ( ios , 'namctl in configuration namelist' ) 
     
    203201      !                             !------------------------------------! 
    204202      ! 
    205       REWIND( numnam_ref )              ! Namelist namcfg in reference namelist 
    206203      READ  ( numnam_ref, namcfg, IOSTAT = ios, ERR = 903 ) 
    207204903   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namcfg in reference namelist' ) 
    208       REWIND( numnam_cfg )              ! Namelist namcfg in confguration namelist 
    209205      READ  ( numnam_cfg, namcfg, IOSTAT = ios, ERR = 904 ) 
    210206904   IF( ios >  0 )   CALL ctl_nam ( ios , 'namcfg in configuration namelist' )    
     
    363359      IF( numstp          /= -1 )   CLOSE( numstp          )   ! time-step file 
    364360      IF( numrun          /= -1 )   CLOSE( numrun          )   ! run statistics file 
    365       IF( numnam_ref      /= -1 )   CLOSE( numnam_ref      )   ! oce reference namelist 
    366       IF( numnam_cfg      /= -1 )   CLOSE( numnam_cfg      )   ! oce configuration namelist 
    367361      IF( lwm.AND.numond  /= -1 )   CLOSE( numond          )   ! oce output namelist 
    368       IF( numnam_ice_ref  /= -1 )   CLOSE( numnam_ice_ref  )   ! ice reference namelist 
    369       IF( numnam_ice_cfg  /= -1 )   CLOSE( numnam_ice_cfg  )   ! ice configuration namelist 
    370362      IF( lwm.AND.numoni  /= -1 )   CLOSE( numoni          )   ! ice output namelist 
    371363      IF( numevo_ice      /= -1 )   CLOSE( numevo_ice      )   ! ice variables (temp. evolution) 
Note: See TracChangeset for help on using the changeset viewer.