wiki:WRF4G2.0/Tutorial

Version 1 (modified by carlos, 7 years ago) (diff)

--

How to run a experiment

  1. Start up WRF4G :
    [user@mycomputer~]$ wrf4g start
    Starting DRM4G .... 
     OK
    Starting WRF4G_DB (MySQL) ... 
     OK
    
  2. Show information about all available resources and their host :
    [user@mycomputer~]$ wrf4g resource list 
    RESOURCE            STATE               
    localmachine        enabled
    
    [user@mycomputer~]$ wrf4g host list 
    HID ARCH       JOBS(R/T) LRMS       HOSTNAME            
    0   x86_64           0/0 fork       localmachine    
    
    [user@mycomputer~]$ wrf4g host list 0        
    HID ARCH       JOBS(R/T) LRMS       HOSTNAME            
    0   x86_64           0/0 fork       localmachine        
    
    QUEUENAME       JOBS(R/T) WALLT CPUT  MAXR  MAXQ 
    default            0/0    0     0     1     1                 
    
  3. Define an experiment called test form a template :
    [user@mycomputer~]$ wrf4g exp test define --from-template=single
    
  1. Keep an eye on test experiment configuration :
    [user@mycomputer~]$ cat test/experiment.wrf4g 
    [DEFAULT]
    # Experiment configuration
    name                 = test
    # Simulation domain
    max_dom              = 1
    # Experiment time-specification
    #                      start_date          | end_date            | chunk_size_h
    date_time            = 2011-08-28_12:00:00 | 2011-08-30_00:00:00 | 12
    calendar             = standard
    timestep_dxfactor    = 6
    # Running options 
    np                   = 1
    requirements         = ARCH = "x86_64"
    clean_after_run      = yes
    save_wps             = no
    real_parallel        = no
    wrf_parallel         = yes
    # Input data
    domain_path          = /home/user/WRF4G_2_0/repository/domains/Santander_50km
    # Vtables must exist as Vtable.[input_extdata]
    extdata_vtable       = GFS 
    extdata_path         = /home/user/WRF4G_2_0/repository/input/NCEP/GFS
    # Seconds between global analysis input times
    extdata_interval     = 21600     
    preprocessor         = default
    # Output
    output_path          = /home/user/test/output
    postprocessor        = SFC
    wrfout_name_end_date = no
    # app
    app                  = wrf_all_in_one | bundle | /home/user/WRF4G_2_0/repository/apps/WRF/WRFbin-3.4.1_r2265_gfortran.tar.gz
    # WRF-namelist parameters. Override namelist.input variables here
    namelist_version     = 3.4.1
    namelist             = spec_bdy_width     | 10
                           spec_zone          | 1
                           relax_zone         | 9
                           feedback           | 0
                           history_interval   | 180
                           frames_per_outfile | 3
                           e_vert             | 28
                           mp_physics         | 4   
                           radt               | 15
                           ra_lw_physics      | 3
                           ra_sw_physics      | 3
    
  1. Create the test experiment on WRF4G :
    wrf4g exp test create --dir test 
    Checking the variables in experiment.wrf4g file
    Preparing namelist...
    ---> Single combination run
            ---> Realization test__20110828T120000_20110830T000000
                    ---> Chunk 1 2011-08-28_12:00:00 2011-08-29_00:00:00
                    ---> Chunk 2 2011-08-29_00:00:00 2011-08-29_12:00:00
                    ---> Chunk 3 2011-08-29_12:00:00 2011-08-30_00:00:00
    
  1. Submit the experiment :
    [user@mycomputer~]$ wrf4g exp test submit 
    ---> Submitting Realization test44__20110828T120000_20110830T000000
            ---> Submitting Chunk 1 2011-08-28_12:00:00 2011-08-29_00:00:00
            ---> Submitting Chunk 2 2011-08-29_00:00:00 2011-08-29_12:00:00
            ---> Submitting Chunk 3 2011-08-29_12:00:00 2011-08-30_00:00:00
    
  2. Check the evolution of the job :
    [user@mycomputer~]$ drm4g job list 0
    JID DM   EM   START    END      EXEC    XFER    EXIT NAME            HOST                                          
    0   pend ---- 19:39:09 --:--:-- 0:00:00 0:00:00 --   date.job        --                        
    
    If you execute successive drm4g job list 0, you will see the different states of this job:
    0   pend ---- 19:39:09 --:--:-- 0:00:00 0:00:00 --   date.job        --                                            
    0   prol ---- 19:39:09 --:--:-- 0:00:00 0:00:00 --   date.job        --                                                            
    0   wrap pend 19:39:09 --:--:-- 0:00:00 0:00:00 --   date.job localhost/fork                                                                         
    0   wrap actv 19:39:09 --:--:-- 0:00:05 0:00:00 --   date.job localhost/fork                                                         
    0   epil ---- 19:39:09 --:--:-- 0:00:10 0:00:00 --   date.job localhost/fork
    0   done ---- 19:39:09 19:39:27 0:00:10 0:00:01 0    date.job localhost/fork         
    
    • pend: The job is waiting for a resource to run on.
    • prol :The remote system is being prepared for execution.
    • wrap pend :The job has been successfully submitted to the computing resource and it is waiting.
    • wrap actv:The job is being executed by the computing resource.
    • epil:The job is finalizing.
    • done:The job has finished.
  3. Results are standard output (stdout) and standard error (stderr), both files will be in the same directory of job template:
    [user@mycomputer~]$ cat stdout.0
    Mon Jul 28 12:29:43 CEST 2014
    
    [user@mycomputer~]$ cat stderr.0