Scheduled Downtime
On Tuesday 24 October 2023 @ 5pm MT the forums will be in read only mode in preparation for the downtime. On Wednesday 25 October 2023 @ 5am MT, this website will be down for maintenance and expected to return online later in the morning.
Normal Operations
The forums are back online with normal operations. If you notice any issues or errors related to the forums, please reach out to help@ucar.edu

Porting cesm1.2.0, 'underscore' problems

jedwards

CSEG and Liaisons
Staff member
Can you send the csm_share.bldlog from the directory:bld/csm_share/I'm not sure it would help with this problem,   but you should also update to the 1.2.1 release.    
 

jedwards

CSEG and Liaisons
Staff member
Can you send the csm_share.bldlog from the directory:bld/csm_share/I'm not sure it would help with this problem,   but you should also update to the 1.2.1 release.    
 

jedwards

CSEG and Liaisons
Staff member
Can you send the csm_share.bldlog from the directory:bld/csm_share/I'm not sure it would help with this problem,   but you should also update to the 1.2.1 release.    
 

jedwards

CSEG and Liaisons
Staff member
Can you send the csm_share.bldlog from the directory:bld/csm_share/I'm not sure it would help with this problem,   but you should also update to the 1.2.1 release.    
 
Dear all,after discussing the case in above with the system administrator of the IBM AIX cluster, we realised that the xlf compiler is builded on the cluster by default with -qextname. Therefore we got the erro .flush__ istead of the .flush_ and .chdir_ instead of .chdir. The problem can be solved by using the -brename:.flush__,.flush_ -brename:.chdir_,.chdir. But I have at this point a problem. When I add the -brename to the LDFLAGS, the compiler try to compile every model with -brename:.flush__,.flush_ -brename:.chdir_,.chdir. If one of the model does not include the flush or chdir function then the compiling of the model crashes. I was be able to solve the flush problem by changing the code from call flush_() to call flush(). Since the chdir does not include the "_", I can not solve the compiling problem as with the flush problem. But the good thing is that the chdir function is called just during the compiling of the csm_share. If I"d add the -brename:.chdir_,.chdir in the flags just for the compiling of the csm_share, then the problem will be solved since I was be able to compile a simple fortran program which included the calling of the chdir function.  I tried to add in Macros file the followinng codes
ifeq ($(MODEL), csm_share)    LDFLAGS += -brename:.chdir_,chdirendifthe question is, how can I tell the compiler to use the -brename flags just for the csm_share compiling? Thank you all for your help in advance. Best wishes
 
Dear all,after discussing the case in above with the system administrator of the IBM AIX cluster, we realised that the xlf compiler is builded on the cluster by default with -qextname. Therefore we got the erro .flush__ istead of the .flush_ and .chdir_ instead of .chdir. The problem can be solved by using the -brename:.flush__,.flush_ -brename:.chdir_,.chdir. But I have at this point a problem. When I add the -brename to the LDFLAGS, the compiler try to compile every model with -brename:.flush__,.flush_ -brename:.chdir_,.chdir. If one of the model does not include the flush or chdir function then the compiling of the model crashes. I was be able to solve the flush problem by changing the code from call flush_() to call flush(). Since the chdir does not include the "_", I can not solve the compiling problem as with the flush problem. But the good thing is that the chdir function is called just during the compiling of the csm_share. If I"d add the -brename:.chdir_,.chdir in the flags just for the compiling of the csm_share, then the problem will be solved since I was be able to compile a simple fortran program which included the calling of the chdir function.  I tried to add in Macros file the followinng codes
ifeq ($(MODEL), csm_share)    LDFLAGS += -brename:.chdir_,chdirendifthe question is, how can I tell the compiler to use the -brename flags just for the csm_share compiling? Thank you all for your help in advance. Best wishes
 
Dear all,after discussing the case in above with the system administrator of the IBM AIX cluster, we realised that the xlf compiler is builded on the cluster by default with -qextname. Therefore we got the erro .flush__ istead of the .flush_ and .chdir_ instead of .chdir. The problem can be solved by using the -brename:.flush__,.flush_ -brename:.chdir_,.chdir. But I have at this point a problem. When I add the -brename to the LDFLAGS, the compiler try to compile every model with -brename:.flush__,.flush_ -brename:.chdir_,.chdir. If one of the model does not include the flush or chdir function then the compiling of the model crashes. I was be able to solve the flush problem by changing the code from call flush_() to call flush(). Since the chdir does not include the "_", I can not solve the compiling problem as with the flush problem. But the good thing is that the chdir function is called just during the compiling of the csm_share. If I"d add the -brename:.chdir_,.chdir in the flags just for the compiling of the csm_share, then the problem will be solved since I was be able to compile a simple fortran program which included the calling of the chdir function.  I tried to add in Macros file the followinng codes
ifeq ($(MODEL), csm_share)    LDFLAGS += -brename:.chdir_,chdirendifthe question is, how can I tell the compiler to use the -brename flags just for the csm_share compiling? Thank you all for your help in advance. Best wishes
 
Dear all,after discussing the case in above with the system administrator of the IBM AIX cluster, we realised that the xlf compiler is builded on the cluster by default with -qextname. Therefore we got the erro .flush__ istead of the .flush_ and .chdir_ instead of .chdir. The problem can be solved by using the -brename:.flush__,.flush_ -brename:.chdir_,.chdir. But I have at this point a problem. When I add the -brename to the LDFLAGS, the compiler try to compile every model with -brename:.flush__,.flush_ -brename:.chdir_,.chdir. If one of the model does not include the flush or chdir function then the compiling of the model crashes. I was be able to solve the flush problem by changing the code from call flush_() to call flush(). Since the chdir does not include the "_", I can not solve the compiling problem as with the flush problem. But the good thing is that the chdir function is called just during the compiling of the csm_share. If I"d add the -brename:.chdir_,.chdir in the flags just for the compiling of the csm_share, then the problem will be solved since I was be able to compile a simple fortran program which included the calling of the chdir function.  I tried to add in Macros file the followinng codes
ifeq ($(MODEL), csm_share)    LDFLAGS += -brename:.chdir_,chdirendifthe question is, how can I tell the compiler to use the -brename flags just for the csm_share compiling? Thank you all for your help in advance. Best wishes
 
Dear All,I also downloaded and ported the cesm1_2_1 and then tried to compile the code. The errors were the same. Can please anybody tell me how can I use the -brename:.chdir_,.chdir just during the compiling of the csm_share library? that'd maybe solve the problem. Thanks all four your help in advance. Or does anybody ported the cesm on IBM AIX machine with xlf compiler? If you can upload the Macros file, I'd very appreciated it. Then I can compire it with my Macros file. Maybe Just some flag(s) is needed. Best regards
 
Dear All,I also downloaded and ported the cesm1_2_1 and then tried to compile the code. The errors were the same. Can please anybody tell me how can I use the -brename:.chdir_,.chdir just during the compiling of the csm_share library? that'd maybe solve the problem. Thanks all four your help in advance. Or does anybody ported the cesm on IBM AIX machine with xlf compiler? If you can upload the Macros file, I'd very appreciated it. Then I can compire it with my Macros file. Maybe Just some flag(s) is needed. Best regards
 
Dear All,I also downloaded and ported the cesm1_2_1 and then tried to compile the code. The errors were the same. Can please anybody tell me how can I use the -brename:.chdir_,.chdir just during the compiling of the csm_share library? that'd maybe solve the problem. Thanks all four your help in advance. Or does anybody ported the cesm on IBM AIX machine with xlf compiler? If you can upload the Macros file, I'd very appreciated it. Then I can compire it with my Macros file. Maybe Just some flag(s) is needed. Best regards
 
Dear All,I also downloaded and ported the cesm1_2_1 and then tried to compile the code. The errors were the same. Can please anybody tell me how can I use the -brename:.chdir_,.chdir just during the compiling of the csm_share library? that'd maybe solve the problem. Thanks all four your help in advance. Or does anybody ported the cesm on IBM AIX machine with xlf compiler? If you can upload the Macros file, I'd very appreciated it. Then I can compire it with my Macros file. Maybe Just some flag(s) is needed. Best regards
 

jedwards

CSEG and Liaisons
Staff member
It seems that the problem may be that your compiler is defining the qextname flag by default, this is a non-standard install of the compiler.  You can try putting the flag into a Depends.$(machine) file - look for examples of how to do this in the Machines directory.  In this way you can limit use of this flag to only the shr_sys_mod.F90 file, which is what I think you want to do.
 

jedwards

CSEG and Liaisons
Staff member
It seems that the problem may be that your compiler is defining the qextname flag by default, this is a non-standard install of the compiler.  You can try putting the flag into a Depends.$(machine) file - look for examples of how to do this in the Machines directory.  In this way you can limit use of this flag to only the shr_sys_mod.F90 file, which is what I think you want to do.
 

jedwards

CSEG and Liaisons
Staff member
It seems that the problem may be that your compiler is defining the qextname flag by default, this is a non-standard install of the compiler.  You can try putting the flag into a Depends.$(machine) file - look for examples of how to do this in the Machines directory.  In this way you can limit use of this flag to only the shr_sys_mod.F90 file, which is what I think you want to do.
 
Top