Ignore:
Timestamp:
11/04/09 11:32:11 (15 years ago)
Author:
mafoipsl
Message:

iomput added in NEMO. First guess for larger tests.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • CONFIG/IPSLCM/IPSLCM5/branches/IPSLCM5_v2/EXP00/COMP/opa9.driver

    r734 r777  
    4343    PAT_NRSTAR=$( supergrep nn_rstctl  ${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE} ) 
    4444    PAT_NMSH=$(   supergrep nn_msh     ${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE} ) 
    45     PAT_PRG=$(    supergrep nn_prg ${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE} ) 
     45    PAT_PRG=$(    supergrep nn_prg     ${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE} ) 
    4646    PAT_NF_PTR=$( supergrep nf_ptr_wri ${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE} ) 
    4747 
    48     ORCA_RDT=$( supergrep rn_rdt  ${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE} | sed 's/ *rn_rdt *=//' | sed 's/\. *//' ) 
     48    ORCA_RDT=$(   supergrep rn_rdt     ${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE} | sed 's/ *rn_rdt *=//' | sed 's/\. *//' ) 
    4949 
    5050    # Period Length In Days between DateBegin and first day of calendar 0001 01 01 
    5151    # /!\ Needed by OPA namelist to compute file names /!\ 
    5252    (( DaysSinceJC = $( IGCM_date_DaysSinceJC ${DateBegin} ) + 1 )) 
     53 
     54    ##--Variables used for XMLIO_SERVER configuration file 
     55    # using_server: .TRUE.(.FALSE.) to use(bypass) the io_server 
     56    PAT_SERVER=$( supergrep using_server ${SUBMIT_DIR}/PARAM/xmlio_server.def ) 
    5357 
    5458    IGCM_debug_PopStack "OCE_Initialize" 
     
    6165 
    6266    NbFreq=$( echo ${config_OCE_WriteFrequency} | wc -w ) 
     67 
     68    ## This informations are used for diaptr, trends and diagap files 
     69    ## only the first frequency is used for this files 
    6370 
    6471    ##--Write Frequency Purpose .... 
     
    8996 
    9097    ##--Write Frequency Purpose .... concerning the second opa file type. 
    91     if [ ${NbFreq} -eq 2 ] ; then 
     98    if [ ${NbFreq} -ge 2 ] ; then 
    9299        frequency=$( echo ${config_OCE_WriteFrequency} | awk "-F " '{print $2}' ) 
    93100        factor=$( echo ${frequency} | sed -e "s/[yYmMdD]//" ) 
     
    115122    fi 
    116123 
     124 
     125    ##--Write Frequency for iomput 
     126    ## Differents frequencies are allowed for grid_[TUVW] and icemod files 
     127 
     128    V1D_ENABLE=".FALSE." 
     129    V5D_ENABLE=".FALSE." 
     130    V1M_ENABLE=".FALSE." 
     131    V1Y_ENABLE=".FALSE." 
     132 
     133    for frequency in ${config_OCE_WriteFrequency} ; do 
     134        case ${frequency} in 
     135            1D|1d) V1D_ENABLE=".TRUE." ;; 
     136        esac 
     137        case ${frequency} in 
     138            5D|5d) V5D_ENABLE=".TRUE." ;; 
     139        esac 
     140        case ${frequency} in 
     141            1M|1m) V1M_ENABLE=".TRUE." ;; 
     142        esac 
     143        case ${frequency} in 
     144            *[yY]) V1Y_ENABLE=".TRUE." ;; 
     145        esac 
     146    done 
     147 
    117148    # Period Length In Days between DateBegin and first day of calendar 0001 01 01 
    118149    # Needed by OPA namelist to compute correct file names  
     
    190221    grep AUTO namelist 
    191222 
     223    ##--Variables used for iodef xml configuration file 
     224    # output_1m_frequency_oce : output frequency of ocean output files in seconds 
     225    #     - length of 1 month (in seconds)  
     226    #     - -1 for monthly mean with 31-28-31-30 .... calendar if 
     227    #          simulation are done per year. ie PeriodLength=1Y in config.card 
     228    #     - n days (in seconds) for other Period Length 
     229    #                            
     230 
     231    output_1m_frequency_oce=-1 
     232 
     233    case ${config_UserChoices_PeriodLength} in 
     234        *Y|*y) 
     235              (( output_1m_frequency_oce = 86400 * $( IGCM_date_DaysInMonth ${year} ${month} ) ))  
     236              if [ "${config_UserChoices_CalendarType}" != "360d" ] ; then 
     237                 output_1m_frequency_oce=-1 
     238              fi 
     239              ;; 
     240        *M|*m) 
     241              (( output_1m_frequency_oce = 86400 * $( IGCM_date_DaysInMonth ${year} ${month} ) )) 
     242              if [ "${config_UserChoices_CalendarType}" != "360d" ] ; then 
     243                 output_1m_frequency_oce=-1 
     244              fi 
     245              ;; 
     246        *) 
     247              (( output_1m_frequency_oce = PeriodLengthInDays * 86400 )) ;; 
     248    esac 
     249 
     250    echo 1M_Frequency in iodef : ${output_1m_frequency_oce} 
     251 
     252    # update iodef.xml 
     253 
     254    sed -e "s/<1D_ENABLE>/${V1D_ENABLE}/" \ 
     255        -e "s/<5D_ENABLE>/${V5D_ENABLE}/" \ 
     256        -e "s/<1M_ENABLE>/${V1M_ENABLE}/" \ 
     257        -e "s/<1Y_ENABLE>/${V1Y_ENABLE}/" \ 
     258        -e "s/<1M_FREQUENCY>/${output_1m_frequency_oce}/g" \ 
     259        iodef.xml > iodef.xml.tmp 
     260 
     261    IGCM_sys_Mv iodef.xml.tmp iodef.xml 
     262 
     263    # update xmlio_server.def 
     264 
     265    if [ X${opa9_UserChoices_io_server} = Xy ] ; then 
     266        sed -e "s/${PAT_SERVER}/  using_server = .TRUE./" \ 
     267        xmlio_server.def > xmlio_server.def.tmp 
     268        IGCM_sys_Mv xmlio_server.def.tmp xmlio_server.def 
     269    fi 
     270 
    192271    IGCM_debug_PopStack "OCE_Update" 
    193272} 
Note: See TracChangeset for help on using the changeset viewer.