Skip to content

Transformation to move (array?) operations outside call arguments #1958

@sergisiso

Description

@sergisiso

For instance in Nemo, when we find:
call iom_put('empmr', emp - rnf)

we want to transform it to:

tmp = emp - rnf
call iom_put('empmr', tmp)

so then the rest of the script will converted it to:

!$omp parallel do
do i= LBOUND(tmp,1), UBOUND(tmp,1)
  tmp(i) = emp(i) - rnf(i)
enddo
!$omp end parallel do
call iom_put('empmr', tmp)

Metadata

Metadata

Labels

NEMOIssue relates to the NEMO domainNG-ARCHIssues relevant to the GPU parallelisation of LFRic and other models expected to be used in NG-ARCH

Type

No type

Projects

Status

No status

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions