CQMP / Maxent

GNU General Public License v2.0
16 stars 14 forks source link

Wrong output directory #20

Closed iskakoff closed 7 years ago

iskakoff commented 7 years ago

When I specify parameter file as a relative path to some upper directory and don't use BASENAME parameter, all the outputs go in that directory instead of current directory.

ryanlevy commented 7 years ago

What would you prefer the behavior to be? My original idea was that maxent could sit somewhere globally and the output would go where the param file is.

iskakoff commented 7 years ago

Currently, I have about 6-7 directories with data, the only difference they have been computed with different temperature. And for this case I have the same parameter file and for each execution I just just specify --BETA $x.

If you think that it is a feature than fine I will just copy param file into each directory

jpfleblanc commented 7 years ago

This behavior is intended. You want to have a maxent result and the parameters used to generate it, and these should be attached in some way. Either combined in a file, (hdf5) or in the same directory.

On Fri, Jan 27, 2017 at 7:31 PM, Sergei Iskakov notifications@github.com wrote:

Currently, I have about 6-7 directories with data, the only difference they have been computed with different temperature. And for this case I have the same parameter file and for each execution I just just specify --BETA $x.

If you think that it is a feature than fine I will just copy param file into each directory

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/CQMP/Maxent/issues/20#issuecomment-275798264, or mute the thread https://github.com/notifications/unsubscribe-auth/AH6noA0D2VPT8JYyACRZ_4ARx5oUyyTVks5rWnc2gaJpZM4LwTMc .

iskakoff commented 7 years ago

This behavior is intended. You want to have a maxent result and the parameters used to generate it, and these should be attached in some way. Either combined in a file, (hdf5) or in the same directory.

@jpfleblanc , But if I specify BASENAME the output will be in the current directory and parameter file will be somewhere else. There is nothing in documentation that BASENAME is the path to output. It is a "specified output name". That is something like filename prefix for all generated files.

From my opinion if it is intended to have parameters together with the results it always should happened not only for empty BASENAME. One of the way is to dump the parameters into some output file like ${BASENAME}.out.params. Because now it will be either somewhere in directory with parameter file or in the current directory but the parameter file will be somewhere else.

ryanlevy commented 7 years ago

@iskakoff the BASENAME param is designed so that you can change the directory, i.e. if you do BASENAME=some/dir/structure/in.out then the output will go into some/dir/structure and name everything "in.out.[file identifier]". Should we then be more descriptive about what BASENAME does or is this still not the behavior you want?

iskakoff commented 7 years ago

@ryanlevy Yes, it should have more clear description, for me it is not obvious that the output directory will be the same as directory with my parameter file. @jpfleblanc told that there is idea to have results with the parameter file. But it will never happened if BASENAME is not empty.

BTW, if I will just specify all parameters in the command line without any parameter file provided I will get output data to be saved in the directory where maxent executable file is located. It's definitely not the behaviour any one wants to intend.

Something like this: ../Maxent/build/maxent --NORM=1.20109669923 --OMEGA_MAX=40 --KERNEL=bosonic --BETA=2.0 --NFREQ=1000 --NDAT=22 --MAX_IT=3000 --DATASPAC=frequency --PARTICLE_HOLE_SYMMETRY=0 --DATA=dat_in