[mpas-developers] mpas_query

Mark Petersen mpetersen at lanl.gov
Tue Mar 16 08:28:45 MDT 2010


Michael,

Thanks for the feedback.  I understand now.  Subroutine mpas_query is 
where we set variables like storageFactor that are needed by the shared 
code but are different for the different cores.

I have the ocean core working within the new directory structure now.

Mark




On Mon, 15 Mar 2010, Michael Duda wrote:

> Hi, Mark.
>
> The value for storage_factor of 1 returned by mpas_query is a
> result of an oversight on my part when coping the mpas_interface.F
> code from the hydrostatic atmosphere model, which uses RK3. Please
> feel free to change this to 2 for the ocean model; indeed, the
> purpose of the mpas_query() routine is to allow the infrastructure
> code to query information about the specifics of the dynamical
> core, such as how much additional storage is required by the time
> integration scheme. Essentially, returning 2 for the
> STORAGE_FACTOR key in mpas_query() should do the job. I apologize
> for the confusion -- I hadn't really given much explanation to
> anyone at LANL after re-arranging the trunk code structure. If you
> have any other questions, please don't hesitate to ask.
>
> Best regards,
> Michael
>
>
> On Mon, Mar 15, 2010 at 04:35:58PM -0600, Mark Petersen wrote:
>> Michael,
>>
>> I am getting the ocean core up and running in the new directory structure.
>> In the old code, module_grid_types.F had:
>>
>>     integer, parameter :: storageFactor = 2    ! Additional storage used by
>> time integration scheme
>> ...
>>        type (grid_state), dimension(storageFactor) :: intermediate_step
>>
>> In the new code, module_grid_types.F has:
>>
>>        key = 'STORAGE_FACTOR'
>>        call mpas_query(key, b % storageFactor)
>>        allocate(b % intermediate_step(b % storageFactor))
>>
>> and b % storageFactor is incorrectly returned as 1, so intermediate_step
>> incorrectly has extents 1 instead of 2.
>>
>> Do I need to set the variable storage_factor somewhere?  The subroutine
>> mpas_query seems to force storageFactor to be 1:
>>
>> subroutine mpas_query(key, ivalue)
>>
>>     implicit none
>>
>>     character (len=256), intent(in) :: key
>>     integer, intent(out) :: ivalue
>>
>>     if (index(key,'STORAGE_FACTOR') /= 0) then
>>        ivalue = 1
>>     end if
>>
>> end subroutine mpas_query
>>
>> Thanks,
>> Mark
>>
>> _______________________________________________
>> mpas-developers mailing list
>> mpas-developers at mailman.ucar.edu
>> http://mailman.ucar.edu/mailman/listinfo/mpas-developers
> _______________________________________________
> mpas-developers mailing list
> mpas-developers at mailman.ucar.edu
> http://mailman.ucar.edu/mailman/listinfo/mpas-developers
>


More information about the mpas-developers mailing list