Custom Query (964 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (196 - 198 of 964)

Ticket Owner Reporter Resolution Summary
#273 arango arango Done Allow or not processing of ghost points during reading/scattering
Description

Allowed for now to process the scattering of data into ghost points in distributed-memory applications during reading. I don't like this that much but for now it is the way to go until we solve all missing exchanges in the adjoint-based algorithms during the processing of the state vector. A new cpp option NO_READ_GHOST is introduced to track these missing exchanges until we fix them.

I prefer not scatter data into ghost points in mp_scatter2d and mp_scatter3d but instead use any of the routines in mp_exchange.F. This will give us complete control of such operations.

I also corrected a bug in obs_read.F that caused the model to hang-up when the VERIFICATION option is activated. Many thanks to Gregoire Broquet for reporting this problem several weeks ago. I was finally able to reproduce the problem and track it in the debugger.

I also changed the order in which the stats are reported in routines get_ngfld*.F get_2dfld*.F, and get_3dfld*.F to facilitate the reading of such detailed information. It was easy to miss the information due to the size of input file names.

#274 arango arango Invalid Avoid time checking on frequency variables
Description

I added code in get_cycle.F to avoid checking available time for variables where the time is in terms of frequency. This is the case for tide forcing variables. The previous logic resulted in error under special conditions as reported in the forum.

Also corrected few typos in normarlization.F, ad_variability.F, state_copy.F, and state_initialize.F. Many thanks to Gregoire Broquet for reporting these typos.

I added new options when compiling with ifort to facilitate the trapping of uninitialized variables:

    -check uninit -ftrapuv

These are good flags to have when debugging. I just discovered an uninitialized ad_cff1 in ad_ini_fields.F. This can be a potential adjoint bug depending how compilers treat uninitialized variables.

#275 arango arango Fixed Corrected I/O bug when periodic conditions are activated
Description

There are couple of bugs in mp_scatter2d and mp_scatter3d when either EW_PERIODIC or NS_PERIODIC are activated. This only happen when processing input fields from NetCDF files. The periodic applications are usually configured with analytical fuctions instead of NetCDF files. I was using the wrong structure to determine the global number of points to process in the I- and J-directions. The computational structure BOUNDS(ng) was used instead of the I/O structure IOBOUNDS(ng). The correct code is to use:

      SELECT CASE (MyType)
        CASE (p2dvar, p3dvar)
          Io=IOBOUNDS(ng) % ILB_psi
          Ie=IOBOUNDS(ng) % IUB_psi
          Jo=IOBOUNDS(ng) % JLB_psi
          Je=IOBOUNDS(ng) % JUB_psi
          Ioff=0
          Joff=1
        CASE (r2dvar, r3dvar)
          Io=IOBOUNDS(ng) % ILB_rho
          Ie=IOBOUNDS(ng) % IUB_rho
          Jo=IOBOUNDS(ng) % JLB_rho
          Je=IOBOUNDS(ng) % JUB_rho
          Ioff=1
          Joff=0
        CASE (u2dvar, u3dvar)
          Io=IOBOUNDS(ng) % ILB_u
          Ie=IOBOUNDS(ng) % IUB_u
          Jo=IOBOUNDS(ng) % JLB_u
          Je=IOBOUNDS(ng) % JUB_u
          Ioff=0
          Joff=0
        CASE (v2dvar, v3dvar)
          Io=IOBOUNDS(ng) % ILB_v
          Ie=IOBOUNDS(ng) % IUB_v
          Jo=IOBOUNDS(ng) % JLB_v
          Je=IOBOUNDS(ng) % JUB_v
          Ioff=1
          Joff=1
        CASE DEFAULT                              ! RHO-points
          Io=IOBOUNDS(ng) % ILB_rho
          Ie=IOBOUNDS(ng) % IUB_rho
          Jo=IOBOUNDS(ng) % JLB_rho
          Je=IOBOUNDS(ng) % JUB_rho
          Ioff=1
          Joff=0
      END SELECT

I also corrected mp_gather2d and mp_gather3d. Non-periodic applications are fine. The issue here is that in periodic applications the computational I-RHO (EW_PERIODIC) and J-RHO (NS_PERIODIC) starts at 1 instead of 0.

Many thanks to Paul Budgell for reporting this problem and giving a good clue.

Batch Modify
Note: See TracBatchModify for help on using batch modify.
Note: See TracQuery for help on using queries.