-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Issue with ADCRIC mesh and prep step #170
Comments
Okay. I am running same case under Orion with out-of-box CoastalApp (not under UFS) and check the elements id over there. If I see negative number in that case too then there could be issue in the ADCIRC cap. |
Ufuk hi,
We have run the test case successfully in the past. Let's see what you find.
Thanks
Takis
Panagiotis Velissariou, Ph.D., P.E.
UCAR Scientist
National Ocean and Atmospheric Administration
National Ocean Service
Office of Coast Survey CSDL/CMMB
Physical Scientist - Project Lead
cell: (205) 227-9141
email: ***@***.***
…On Fri, Mar 10, 2023 at 1:17 PM Ufuk Turunçoğlu ***@***.***> wrote:
Okay. I am running same case under Orion with out-of-box CoastalApp (not
under UFS) and check the elements id over there. If I see negative number
in that case too then there could be issue in the ADCIRC cap.
—
Reply to this email directly, view it on GitHub
<#170 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/APC7TP44LDOW5CBYYES5REDW3N44PANCNFSM6AAAAAAVVULYGI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Yes, it seems with connectors but not with CMEPS mediator. There might be an issue in ADCIRC cap or the definition of the decomposition. The elements ids needs to be positive number by definition. I am waiting to run the case at this point. So, I'll update you. |
Thank you
Panagiotis Velissariou, Ph.D., P.E.
UCAR Scientist
National Ocean and Atmospheric Administration
National Ocean Service
Office of Coast Survey CSDL/CMMB
Physical Scientist - Project Lead
cell: (205) 227-9141
email: ***@***.***
…On Fri, Mar 10, 2023 at 1:23 PM Ufuk Turunçoğlu ***@***.***> wrote:
Yes, it seems with connectors but not with CMEPS mediator. There might be
an issue in ADCIRC cap or the definition of the decomposition. The elements
ids needs to be positive number by definition. I am waiting to run the case
at this point. So, I'll update you.
—
Reply to this email directly, view it on GitHub
<#170 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/APC7TP77TEJFMXRWHWJZ3ULW3N5STANCNFSM6AAAAAAVVULYGI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
@pvelissariou1 here is my run directory.
I wrote the element ids in here too. If you look at I did following to write those (
|
If you look at |
These files are created during the ADCIRC prep stage. Let me take a look.
I don't have read/exec permission to the CoastalApp-testsuite
Panagiotis Velissariou, Ph.D., P.E.
UCAR Scientist
National Ocean and Atmospheric Administration
National Ocean Service
Office of Coast Survey CSDL/CMMB
Physical Scientist - Project Lead
cell: (205) 227-9141
email: ***@***.***
…On Fri, Mar 10, 2023 at 1:33 PM Ufuk Turunçoğlu ***@***.***> wrote:
If you look at PE0498/fort.18 (I think element ids are read from it)
there are negative numbers in there too. Is it expected? I think those
files are created by Metis (or with ADCIRC prep). Right?
—
Reply to this email directly, view it on GitHub
<#170 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/APC7TPY53W22ICDSXJDHKPTW3N6WTANCNFSM6AAAAAAVVULYGI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
@pvelissariou1 Which folder level can you see on Orion? I could change the permissions. BTW, is it normal to have negative numbers in |
I just can't get into CoastalApp-testsuite. I will check on hera
Panagiotis Velissariou, Ph.D., P.E.
UCAR Scientist
National Ocean and Atmospheric Administration
National Ocean Service
Office of Coast Survey CSDL/CMMB
Physical Scientist - Project Lead
cell: (205) 227-9141
email: ***@***.***
…On Fri, Mar 10, 2023 at 1:40 PM Ufuk Turunçoğlu ***@***.***> wrote:
@pvelissariou1 <https://github.com/pvelissariou1> Which folder level can
you see on Orion? I could change the permissions. BTW, is it normal to have
negative numbers in PE0498/fort.18. If you don't mind could you check it
in your side.
—
Reply to this email directly, view it on GitHub
<#170 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/APC7TP6L4XAIHUWLUG3LSWTW3N7TTANCNFSM6AAAAAAVVULYGI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Okay. Let me know if you need anything from my side. Do you know the exact place that ADCIRC prep writes |
It is in ADCIRC/prep/prep.F. Lines 526-530, and subroutine PREP18. PREP18
is called from within adcprep.F,
see line 676.
Panagiotis Velissariou, Ph.D., P.E.
UCAR Scientist
National Ocean and Atmospheric Administration
National Ocean Service
Office of Coast Survey CSDL/CMMB
Physical Scientist - Project Lead
cell: (205) 227-9141
email: ***@***.***
…On Fri, Mar 10, 2023 at 1:44 PM Ufuk Turunçoğlu ***@***.***> wrote:
Okay. Let me know if you need anything from my side. Do you know the exact
place that ADCIRC prep writes fort.18 files. Maybe we could find
something in there.
—
Reply to this email directly, view it on GitHub
<#170 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/APC7TP2EMCGPMWAO7LO2XYTW3OADHANCNFSM6AAAAAAVVULYGI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
@pvelissariou1 BTW, if you look at this code, There is a line like |
I checked on hera and I do see some negative id numbers as well. As I
understand it, they shouldn't be there, I'll check.
Panagiotis Velissariou, Ph.D., P.E.
UCAR Scientist
National Ocean and Atmospheric Administration
National Ocean Service
Office of Coast Survey CSDL/CMMB
Physical Scientist - Project Lead
cell: (205) 227-9141
email: ***@***.***
…On Fri, Mar 10, 2023 at 1:57 PM Ufuk Turunçoğlu ***@***.***> wrote:
@pvelissariou1 <https://github.com/pvelissariou1> BTW, if you look at
this code,
https://github.com/adcirc/adcirc/blob/b2a68685b57f4490a3818df9617e214cde3524f6/thirdparty/nuopc/adc_mod.F90#L402
There is a line like the_data%NdIds = abs(the_data%NdIds) ; but not for
element ids. So, I'll test to put this code also for element ids to see
what happens.
—
Reply to this email directly, view it on GitHub
<#170 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/APC7TPYA4SNH326XHCFMKZLW3OBQVANCNFSM6AAAAAAVVULYGI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
@pvelissariou1 @moghimis Adding following to
But I hit another issue like following,
This basically means that the ADCIRC mesh is created on node coordinates and ESMF could to get the area. Anyway, I did a trick in CMEPS side to get rid of this error but then I had another one,
It seems that the fields in ADCIRC cap side is created without explicitly setting I am plaining to modify ADCIRC cap to create fields with meshloc=ESMF_MESHLOC_ELEMENT argument. This might solve the problem but I am not sure the field will be consistent with the ADCIRC internal data structures and their dimensions. So, at this point we need to discuss little bit more about the ADCIRC cap and decide our approach. We might also find a way to create ADCIRC mesh differently since it is created on node but CMEPS expects it on elements. I am not sure existing input files that are used to create mesh will allow us to create mesh with that way. I also check the WW3 and its unstructured mesh usage under UFS and CMEPS. It seems that WW3 creates the fields with |
Thank you so much Ufuk.
I'll talk with the ADCIRC developers to see if the negative ids are
expected or if this is an issue that they need to fix.
I agree, using the ABS value may be not the right fix.
I'll keep you posted.
Takis
Panagiotis Velissariou, Ph.D., P.E.
UCAR Scientist
National Ocean and Atmospheric Administration
National Ocean Service
Office of Coast Survey CSDL/CMMB
Physical Scientist - Project Lead
cell: (205) 227-9141
email: ***@***.***
…On Mon, Mar 13, 2023 at 12:41 AM Ufuk Turunçoğlu ***@***.***> wrote:
@pvelissariou1 <https://github.com/pvelissariou1> @moghimis
<https://github.com/moghimis> Adding following to adc_mod solve the
negative number issue. At this point, I am not sure this is the correct fix
or not but it allowed me to pass the issue in the CMEPS.
@@ -405,6 +419,7 @@ module adc_mod
DO I=1, the_data%NumEl ! MNE
READ(funit,*) the_data%ElIDs(I) ;
ENDDO
+ the_data%ElIDs = abs(the_data%ElIDs)
But I hit another issue like following,
20230311 202853.807 ERROR PET049 ESMF_FieldRegrid.F90:4102 ESMF_FieldRegridGetArea Invalid argument - Can't currently calculate area on a mesh location other than elements
20230311 202853.807 ERROR PET049 med.F90:2323 Invalid argument - Passing error in return code
20230311 202853.807 ERROR PET049 med.F90:1686 Invalid argument - Passing error in return code
20230311 202853.807 ERROR PET049 MED:src/addon/NUOPC/src/NUOPC_ModelBase.F90:1639 Invalid argument - Passing error in return code
20230311 202853.807 ERROR PET049 UFS Driver Grid Comp:src/addon/NUOPC/src/NUOPC_Driver.F90:2577 Invalid argument - Phase 'IPDv03p7' Initialize for modelComp 1: MED did not return ESMF_SUCCESS
20230311 202853.807 ERROR PET049 UFS Driver Grid Comp:src/addon/NUOPC/src/NUOPC_Driver.F90:2408 Invalid argument - Passing error in return code
20230311 202853.807 ERROR PET049 UFS Driver Grid Comp:src/addon/NUOPC/src/NUOPC_Driver.F90:2192 Invalid argument - Passing error in return code
20230311 202853.807 ERROR PET049 UFS Driver Grid Comp:src/addon/NUOPC/src/NUOPC_Driver.F90:463 Invalid argument - Passing error in return code
20230311 202853.807 ERROR PET049 UFS.F90:386 Invalid argument - Aborting UFS
20230311 202853.807 INFO PET049 Finalizing ESMF
This basically means that the ADCIRC mesh is created on node coordinates
and ESMF could to get the area. Anyway, I did a trick in CMEPS side to get
rid of this error but then I had another one,
20230311 204503.716 INFO PET050 before med_map_RouteHandles_init
20230311 204503.717 INFO PET050 (module_med_map: med_map_routehandles_initfrom_field): mapname fillv_bilnr
20230311 204503.717 INFO PET050 atm to ocn srcMask = 0 dstMask = 0
20230311 204504.917 INFO PET050 after med_map_RouteHandles_init
20230311 204504.917 INFO PET050 Map type fillv_bilnr, destcomp ocn, mapnorm one Sa_pslv
20230311 204504.917 ERROR PET050 ESMCI_Array.C:1061 ESMCI::Array::create() Value unrecognized or out of range - LocalArray does not accommodate requested element count
20230311 204504.917 ERROR PET050 ESMCI_Array_F.C:79 c_esmc_arraycreatelocalarray() Value unrecognized or out of range - Internal subroutine call returned Error
20230311 204504.917 ERROR PET050 ESMF_ArrayCreate.F90:25443 ESMF_ArrayCreateLocalArray() Value unrecognized or out of range - Internal subroutine call returned Error
20230311 204504.917 ERROR PET050 ESMF_ArrayCreate.F90:2844 ESMF_ArrayCreateFrmPtr Value unrecognized or out of range - Internal subroutine call returned Error
20230311 204504.917 ERROR PET050 ESMF_FieldEmpty.F90:61322 ESMF_FieldEmptyCompGBPtr Value unrecognized or out of range - Internal subroutine call returned Error
20230311 204504.917 ERROR PET050 ESMF_FieldCreate.F90:5585 ESMF_FieldCreateGBDataPtr Value unrecognized or out of range - Internal subroutine call returned Error
20230311 204504.917 ERROR PET050 ESMF_FieldCreate.F90:25437 ESMF_FieldCreateMeshDataPtr Value unrecognized or out of range - Internal subroutine call returned Error
20230311 204504.917 ERROR PET050 med_map_mod.F90:902 Value unrecognized or out of range - Passing error in return code
20230311 204504.917 ERROR PET050 med.F90:1827 Value unrecognized or out of range - Passing error in return code
20230311 204504.917 ERROR PET050 MED:src/addon/NUOPC/src/NUOPC_ModelBase.F90:1639 Value unrecognized or out of range - Passing error in return code
20230311 204504.917 ERROR PET050 UFS Driver Grid Comp:src/addon/NUOPC/src/NUOPC_Driver.F90:2577 Value unrecognized or out of range - Phase 'IPDv03p7' Initialize for modelComp 1: MED did not return ESMF_SUCCESS
20230311 204504.917 ERROR PET050 UFS Driver Grid Comp:src/addon/NUOPC/src/NUOPC_Driver.F90:2408 Value unrecognized or out of range - Passing error in return code
20230311 204504.917 ERROR PET050 UFS Driver Grid Comp:src/addon/NUOPC/src/NUOPC_Driver.F90:2192 Value unrecognized or out of range - Passing error in return code
20230311 204504.917 ERROR PET050 UFS Driver Grid Comp:src/addon/NUOPC/src/NUOPC_Driver.F90:463 Value unrecognized or out of range - Passing error in return code
20230311 204504.917 ERROR PET050 UFS.F90:386 Value unrecognized or out of range - Aborting UFS
It seems that the fields in ADCIRC cap side is created without explicitly
setting meshloc arguments and ESMF creates all the fields on
ESMF_MESHLOC_NODE by default. The CMEPS basically assumes that everything
in ESMF_MESHLOC_ELEMENT and creates internal ESMF Field Bundles like
that. So, I think this creates incompatibility between CMEPS and ADCIRC and
leads to fail.
I am plaining to modify ADCIRC cap to create fields with
meshloc=ESMF_MESHLOC_ELEMENT argument. This might solve the problem but I
am not sure the field will be consistent with the ADCIRC internal data
structures and their dimensions. So, at this point we need to discuss
little bit more about the ADCIRC cap and decide our approach. We might also
find a way to create ADCIRC mesh differently since it is created on node
but CMEPS expects it on elements. I am not sure existing input files that
are used to create mesh will allow us to create mesh with that way.
I also check the WW3 and its unstructured mesh usage under UFS and CMEPS.
It seems that WW3 creates the fields with meshloc=ESMF_MESHLOC_ELEMENT.
So, it could be used with CMEPS without any issue.
—
Reply to this email directly, view it on GitHub
<#170 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/APC7TP47MGWRYPJGZE7J3CTW326QLANCNFSM6AAAAAAVVULYGI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
@pvelissariou1 I think even if we fix the element id issue. We will still have issue with mesh and fields. I'll talk more with Mariana and others from the ESMf team to look for possible approach to tackle that issue. |
I am creating an issue with ADCIRC about this.
Panagiotis Velissariou, Ph.D., P.E.
UCAR Scientist
National Ocean and Atmospheric Administration
National Ocean Service
Office of Coast Survey CSDL/CMMB
Physical Scientist - Project Lead
cell: (205) 227-9141
email: ***@***.***
…On Mon, Mar 13, 2023 at 11:58 AM Ufuk Turunçoğlu ***@***.***> wrote:
@pvelissariou1 <https://github.com/pvelissariou1> I think even if we fix
the element id issue. We will still have issue with mesh and fields. I'll
talk more with Mariana and others from the ESMf team to look for possible
approach to tackle that issue.
—
Reply to this email directly, view it on GitHub
<#170 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/APC7TP2BUBZ5KLPJ6QAODJ3W35G2LANCNFSM6AAAAAAVVULYGI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Ufuk hi,
It seems that the negative indices represent ghost nodes in the domain
(shared by neighboring subdomains).
Please see the subroutine PREP18 in ADCIRC/prep/prep.F. So, getting the
absolute value of these indices,
I believe it is ok for our case. Your thoughts?
Below is the relevant code.
…-------------------------------------------------------------------
C--Write the Global indexes of all local elements in local element order
Casey 100209: Changed I8 to I12.
WRITE(18,3000) NELG, MNEP, NELP(I) ! number of Global elements
DO J = 1,NELP(I)
INDX = IMAP_EL_LG(J,I)
WRITE(18,'(I12)') INDX ! Global index of local element
ENDDO
C--Write the Global indexes of all local nodes in local node order
C write global index as positive if a resident node and negative
C if a ghost node
WRITE(18,3001) NNODG, MNPP, NNODP(I) ! number of Global nodes
ITOT = 0
DO J = 1,NNODP(I)
INDX = IMAP_NOD_LG(J,I)
IPR = IMAP_NOD_GL(1,INDX)
IF (IPR.EQ.I)THEN
ITOT = ITOT + 1
RES_NODE(ITOT) = J
* WRITE(18,'(I12)') INDX * ! Global index of resident
node
ELSE
*WRITE(18,'(I12)') -1*INDX * ! Global index of ghost node
ENDIF
ENDDO
IF (ITOT.NE.NOD_RES_TOT(I)) STOP 'ERROR IN # OF RES. NODES'
-------------------------------------------------------------------
Panagiotis Velissariou, Ph.D., P.E.
UCAR Scientist
National Ocean and Atmospheric Administration
National Ocean Service
Office of Coast Survey CSDL/CMMB
Physical Scientist - Project Lead
cell: (205) 227-9141
email: ***@***.***
On Mon, Mar 13, 2023 at 11:59 AM Panagiotis Velissariou - NOAA Affiliate <
***@***.***> wrote:
I am creating an issue with ADCIRC about this.
Panagiotis Velissariou, Ph.D., P.E.
UCAR Scientist
National Ocean and Atmospheric Administration
National Ocean Service
Office of Coast Survey CSDL/CMMB
Physical Scientist - Project Lead
cell: (205) 227-9141
email: ***@***.***
On Mon, Mar 13, 2023 at 11:58 AM Ufuk Turunçoğlu ***@***.***>
wrote:
> @pvelissariou1 <https://github.com/pvelissariou1> I think even if we fix
> the element id issue. We will still have issue with mesh and fields. I'll
> talk more with Mariana and others from the ESMf team to look for possible
> approach to tackle that issue.
>
> —
> Reply to this email directly, view it on GitHub
> <#170 (comment)>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/APC7TP2BUBZ5KLPJ6QAODJ3W35G2LANCNFSM6AAAAAAVVULYGI>
> .
> You are receiving this because you were mentioned.Message ID:
> ***@***.***>
>
|
@pvelissariou1 @saeed-moghimi-noaa According to Bob (main ESMF developer related to the mesh and interpolation routines), maybe getting absolute value is not the right approach. He suggest me to eliminate the ghost points (the negative element ids). Anyway, we will have a meeting with Mariana, Denise and Bob about it on Monday to look at both ADCIRC cap and also the CMEPS to find the best approach. I'll update you about it. |
Thanks @uturuncoglu . Good progress! Please let us know if inviting an ADCIRC developer night be helpful at any point. |
@saeed-moghimi-noaa Thanks. Sure. I'll let you know about the initial discussion. If we need we could have another meeting by including ADCIRC developer. |
@pvelissariou1 @saeed-moghimi-noaa I had a call with Mariana (main CMEPS developer), Denise (from NOAA-EMC - she has experience with development of WW3 unstructured mesh configuration) and also Bob from (ESMF team, the main person for meshes) about the issue that we had with ADCIRC mesh. Here are the question that we have and needs to be clarified,
It seems that supporting the nodes under CMEPS mediator requires lots of development and it seems that it is not a feasible option according to the discussion that I have with Mariana. So, the development needs to be done in the ADCIRC cap to make it run with CMEPS. Anyway, let me know what you think. If you want to arrange another meeting with ADCIRC developers that works for me and we could have more discussion around the issue. |
Hi Ufuk, thank you for the update. It seems to me that a meeting with the
ADCIRC developers is needed. Have you checked how SCHISM does this? Both
models share similar logic. I'll check SCHISM as well.
On Monday, March 20, 2023, Ufuk Turunçoğlu ***@***.***> wrote:
@pvelissariou1 @saeed-moghimi-noaa I had a call with Mariana (main CMEPS
developer), Denise (from NOAA-EMC - she has experience with development of
WW3 unstructured mesh configuration) and also Bob from (ESMF team, the main
person for meshes) about the issue that we had with ADCIRC mesh. Here are
the question that we have and needs to be clarified,
It seems that ADCIRC defines the fields on nodes. Is this a requirement?
Is it possible to create the fields on elements? Is there any flexibility
to support this under ADCIRC cap.
Is it possible to create ADCIRC mesh without ghost cells/elements? This
will eliminate the negative indices for elements and nodes and make model
more efficient. It seems they are not used by the ESMF.
Is it possible to access element corner coordinates? This could be use to
create dual mesh - basically swaps nodes with elements. For regional
applications, you are loosing some information around the edge but this can
be tested too. We could use this approach to eliminate the issue related
with the mesh.
It seems that supporting the nodes under CMEPS mediator requires lots of
development and it seems that it is not a feasible option according to the
discussion that I have with Mariana. So, the development needs to be done
in the ADCIRC cap to make it run with CMEPS. Anyway, let me know what you
think. If you want to arrange another meeting with ADCIRC developers that
works for me and we could have more discussion around the issue.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.<
…--
Panagiotis Velissariou, Ph.D., P.E.
UCAR Scientist
National Ocean and Atmospheric Administration
National Ocean Service
Office of Coast Survey CSDL/CMMB
Physical Scientist - Project Lead
cell: (205) 227-9141
email: ***@***.***
|
@pvelissariou1 I think we will have similar problems with SCHISM since it also uses nodes. |
Yes, I agree. I will schedule a meeting (hopefully early next week) with
the ADCIRC developers,
and we will see how to resolve this.
Takis
Panagiotis Velissariou, Ph.D., P.E.
UCAR Scientist
National Ocean and Atmospheric Administration
National Ocean Service
Office of Coast Survey CSDL/CMMB
Physical Scientist - Project Lead
cell: (205) 227-9141
email: ***@***.***
…On Tue, Mar 21, 2023 at 11:36 AM Ufuk Turunçoğlu ***@***.***> wrote:
@pvelissariou1 <https://github.com/pvelissariou1> I think we will have
similar problems with SCHISM since it also uses nodes.
—
Reply to this email directly, view it on GitHub
<#170 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/APC7TP4XNFBRNOLFN2YL3FDW5HKHTANCNFSM6AAAAAAVVULYGI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
@pvelissariou1 @moghimis I am creating this new issue since I have problem of running CDEPS+ADCRIC through the CMEPS. As you already know that CDEPS+ADCRIC configuration is working without any issue with NUOPC connectors but when I add CMEPS into the picture, I am getting following error from ESMF,
Aster some discussion with the ESMF team members, we decided to check the
the_data%NdIDs
andthe_data%ElIDs
. These needs to be > 1. The output of the debug code is something like following,It seems that this data is read from the
PEXXXX/fort.16
files. Right? If so, maybe I have issue with ADCIRC prep step. I just wonder if you have PEXXXX folders forflorence_hsofs.atm2adc
case. So, I could check mines and to be sure that they are fine. At this point, I have only aches to Orion and Cheyenne and if you have you could copy the files over there.The text was updated successfully, but these errors were encountered: