Minor improvement in ESMX data component#483
Conversation
|
@danrosen25 The |
danrosen25
left a comment
There was a problem hiding this comment.
There's actually no change to TransferOfferGeomObject as "will provide" is the default. So this change can be omitted. For the field fill change I suggest omitting the member and step options as they are confusing. Instead add a value range. The range is computed as (((max - min) / 2) * sincos_value) + ((max + min) / 2). This will allow for a real value range to be exported from ESMX_Data, which is the intention of this component. Also, I think that scheme should be re-labed as fill_scheme or fill_type or filtyp or something like that. It should also accept constant as an option and not just const
|
@danrosen25 Thanks for your help. I agree, let me remove |
By adding the value range for sincos you won't need member or step. |
|
@danrosen25 But then we will loose resolution of spatial variability. It is basically, increased with the size of the member. Anyway, let me experiment it. |
|
@danrosen25 Okay. Here are the changes,
So, following works fine for me, again, I kept One more thing that we could add the temporal variation. We could modify the value of the data based on the time but not sure about best way to do it. Maybe we could skip that one for now and implement in the future. I am also plaining to update ESMX_Data README file to include more information about new supported options. |
danrosen25
left a comment
There was a problem hiding this comment.
Better but I still think there can be better descriptors for the scheme and member configuration options. If I said In a sentence "set the scheme for sea_surface_temperature" or "set the member for sea_surface_temperature" neither or these would describe what you're doing. 'fill_scheme' and 'fill_offset' describe the configuration options better I'm not set on these either. Maybe @theurich @billsacks have some ideas for configuration options for the fill scheme and sincos member user facing configuration options.
|
@danrosen25 Thanks for your help and willing to review. Sure, I could change those argument names. |
|
@uturuncoglu @oehmke Here's how member is used to modify the sincos fill scheme. do i=lbound(dataPtrR4D2,1),ubound(dataPtrR4D2,1)
dataPtrR4D2(i,j) = real( &
cos(real(l_member)*3.1416*(coord1PtrR8D1(i)+real(l_step))/360.)&
* &
sin(real(l_member)*3.1416*(coord2PtrR8D1(j)+real(l_step))/90.)&
, ESMF_KIND_R4)
enddo |
|
Core team discussion: change "member" to "modifier" and pre-fix "fill_" |
|
@uturuncoglu and @theurich to coordinate on the PRs in this area. |
This PR aims to improve ESMX data component by adding additional options for ESMF_FieldFill calls.
I initially testing with following configuration:
The implementation does not checking exiting behavior and it is backward compatibility but user could add additional arguments to import and/or export states like
scheme,memberand alsostep.the given configuration is creating global data like following,